diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-24 21:31:21 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2022-01-24 21:35:50 +0100 |
commit | 6c1b116deeea86f0329dc1852e75157b054b555b (patch) | |
tree | 2dd951351d76f8be63b4fd4c0d878b58edc60bcd /messagebus | |
parent | 7c57db8215a3a08595c4fa8cf3e0bc8dcb3405f9 (diff) |
We must ensure that we do not end up with a rejected execution that can cause deadlock.
Using an unbound Q here is fine as there is external throttling in place.
Diffstat (limited to 'messagebus')
-rw-r--r-- | messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java index 5ff9a4b0313..fcc43afdd13 100644 --- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java +++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java @@ -38,7 +38,7 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.ExecutorService; -import java.util.concurrent.SynchronousQueue; +import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicBoolean; @@ -53,7 +53,7 @@ import java.util.stream.Collectors; */ public class RPCNetwork implements Network, MethodHandler { - private static Logger log = Logger.getLogger(RPCNetwork.class.getName()); + private static final Logger log = Logger.getLogger(RPCNetwork.class.getName()); private final AtomicBoolean destroyed = new AtomicBoolean(false); private final Identity identity; @@ -69,7 +69,7 @@ public class RPCNetwork implements Network, MethodHandler { private final LinkedHashMap<String, Route> lruRouteMap = new LinkedHashMap<>(10000, 0.5f, true); private final ExecutorService executor = new ThreadPoolExecutor(getNumThreads(), getNumThreads(), 0L, TimeUnit.SECONDS, - new SynchronousQueue<>(false), + new LinkedBlockingQueue<>(), ThreadFactoryFactory.getDaemonThreadFactory("mbus.net"), new ThreadPoolExecutor.CallerRunsPolicy()); private static int getNumThreads() { |