summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
diff options
context:
space:
mode:
authorSimon Rettberg2022-03-21 17:22:16 +0100
committerSimon Rettberg2022-03-21 17:22:16 +0100
commitad0788e8fbead90d1ab03ba1a5c83b00114cb3a0 (patch)
treeaf62b617fb6149afce16d417474abd49f373cbf9 /dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
parent[client] Cleanup chunk data lists when upload finished or is cancelled (diff)
downloadtutor-module-ad0788e8fbead90d1ab03ba1a5c83b00114cb3a0.tar.gz
tutor-module-ad0788e8fbead90d1ab03ba1a5c83b00114cb3a0.tar.xz
tutor-module-ad0788e8fbead90d1ab03ba1a5c83b00114cb3a0.zip
[client] Memory management; handle OOM when hashing, do not skip blocks
Try to free some references regarding transfers earlier, e.g. the hash worker and list of hashes as soon as hashing is finished on upload, not only when the upload is finished and the window is closed. Properly delay hashing of blocks in OOM scenarios, and be more conservative with the number of hash workers, i.e. take maximum JVM memory into account. Also, improve thread naming.
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.java8
1 files changed, 8 insertions, 0 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 d9d188a2..84b9b47a 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
@@ -25,6 +25,9 @@ public class UploadTask extends TransferTask {
* Logger instance for this class.
*/
private final static Logger LOGGER = LogManager.getLogger(UploadTask.class);
+
+ private static final AtomicInteger THREAD_ID = new AtomicInteger();
+
/**
* Update interval of the block progress (needs thrift call to sat)
*/
@@ -64,6 +67,11 @@ public class UploadTask extends TransferTask {
}
private class UploadThread extends TransferThread {
+
+ public UploadThread() {
+ super("UpConn#" + THREAD_ID.incrementAndGet());
+ }
+
// private long totalBytesRead = 0;
private long currentSpeed = 0;
private Uploader uploader = null;