diff options
author | Simon Rettberg | 2024-05-22 16:51:06 +0200 |
---|---|---|
committer | Simon Rettberg | 2024-05-22 16:51:06 +0200 |
commit | 18e9d5521c17b5d2f9876088950f10884855a21d (patch) | |
tree | 946b7308a6e11a254a51d15da60c936b5ca33fe4 /dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java | |
parent | [server] CoW: Fix calculating copy speed, don't return delay=0 (diff) | |
download | tutor-module-18e9d5521c17b5d2f9876088950f10884855a21d.tar.gz tutor-module-18e9d5521c17b5d2f9876088950f10884855a21d.tar.xz tutor-module-18e9d5521c17b5d2f9876088950f10884855a21d.zip |
[*] Switch to new CascadedThreadPool
Diffstat (limited to 'dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java')
-rw-r--r-- | dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java index 448bcb68..54a9655e 100644 --- a/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java +++ b/dozentenmodulserver/src/main/java/org/openslx/bwlp/sat/fileserv/SyncTransferHandler.java @@ -7,8 +7,8 @@ import java.sql.SQLException; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.SynchronousQueue; import java.util.concurrent.TimeUnit; import org.apache.logging.log4j.LogManager; @@ -32,7 +32,7 @@ import org.openslx.bwlp.thrift.iface.TNotFoundException; import org.openslx.bwlp.thrift.iface.TTransferRejectedException; import org.openslx.bwlp.thrift.iface.TransferInformation; import org.openslx.thrifthelper.ThriftManager; -import org.openslx.util.GrowingThreadPoolExecutor; +import org.openslx.util.CascadedThreadPoolExecutor; import org.openslx.util.PrioThreadFactory; import org.openslx.util.QuickTimer; import org.openslx.util.QuickTimer.Task; @@ -44,10 +44,10 @@ public class SyncTransferHandler { private static final Logger LOGGER = LogManager.getLogger(SyncTransferHandler.class); - private static final GrowingThreadPoolExecutor transferPool = new GrowingThreadPoolExecutor(1, + private static final CascadedThreadPoolExecutor transferPool = new CascadedThreadPoolExecutor(1, Constants.MAX_MASTER_UPLOADS + Constants.MAX_MASTER_DOWNLOADS, 1, TimeUnit.MINUTES, - new ArrayBlockingQueue<Runnable>(1), new PrioThreadFactory("MTransf", - Thread.NORM_PRIORITY - 3)); + new SynchronousQueue<Runnable>(), new PrioThreadFactory("MTransf", + Thread.NORM_PRIORITY - 3), null); /** * All currently running downloads from master, indexed by token, which is == versionId @@ -119,6 +119,7 @@ public class SyncTransferHandler { // static { + transferPool.allowCoreThreadTimeOut(true); QuickTimer.scheduleAtFixedDelay(heartBeatTask, 123, TimeUnit.SECONDS.toMillis(56)); } |