summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java22
1 files changed, 14 insertions, 8 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
index 8471ca8f..d9d188a2 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
@@ -6,7 +6,6 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
-import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.TInvalidTokenException;
import org.openslx.bwlp.thrift.iface.TransferState;
import org.openslx.bwlp.thrift.iface.TransferStatus;
@@ -36,7 +35,7 @@ public class UploadTask extends TransferTask {
private final int port;
private final String uploadToken;
private final long startTime;
- private String remoteError = null;
+ private String transferConnectionError = null;
/**
* Keep track of the number of active upload connections
@@ -120,13 +119,13 @@ public class UploadTask extends TransferTask {
}
});
if (ret) {
- remoteError = null;
+ transferConnectionError = null;
consecutiveInitFails.set(0);
} else {
String err = uploader.getRemoteError();
- if (err != null && !err.equals(remoteError)) {
+ if (err != null && !err.equals(transferConnectionError)) {
LOGGER.warn("Upload task remote error: " + err);
- remoteError = err;
+ transferConnectionError = err;
}
consecutiveInitFails.incrementAndGet();
}
@@ -148,6 +147,7 @@ public class UploadTask extends TransferTask {
private long lastThriftUpdate = 0;
private long virtualSpeed = 0;
+ private long nextQueryDebug;
@Override
protected TransferEvent getTransferEvent() {
@@ -158,14 +158,20 @@ public class UploadTask extends TransferTask {
if (lastThriftUpdate + THRIFT_INTERVAL_MS < now) {
lastThriftUpdate = now;
try {
+ if (System.currentTimeMillis() > nextQueryDebug) {
+ nextQueryDebug = System.currentTimeMillis() + 30000;
+ LOGGER.debug("Querying upload status...");
+ }
TransferStatus uploadStatus = ThriftManager.getSatClient().queryUploadStatus(uploadToken);
state = uploadStatus.getState();
blocks = uploadStatus.getBlockStatus();
} catch (TInvalidTokenException e) {
error = "Upload token unknown!?";
state = TransferState.ERROR;
- } catch (TException e) {
+ LOGGER.warn("Cannot query upload status: Token not known by the server");
+ } catch (Exception e) {
error = "Exception quering upload status: " + e.toString();
+ LOGGER.warn("Cannot query upload status", e);
}
}
long speed = 0;
@@ -189,8 +195,8 @@ public class UploadTask extends TransferTask {
virtualSpeed = ((blocks.length - missing) * CHUNK_SIZE * 1000) / (System.currentTimeMillis() - startTime + 1);
}
}
- if (remoteError != null && (error == null || remoteError.equals("Out of disk space"))) {
- error = remoteError;
+ if (transferConnectionError != null && (error == null || transferConnectionError.equals("Out of disk space"))) {
+ error = transferConnectionError;
}
TransferEvent event = new TransferEvent(state, blocks, speed, virtualSpeed, timeRemaining, error);
return event;