diff options
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.java | 22 |
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; |