summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-01-24 21:31:21 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2022-01-24 21:35:50 +0100
commit6c1b116deeea86f0329dc1852e75157b054b555b (patch)
tree2dd951351d76f8be63b4fd4c0d878b58edc60bcd /messagebus
parent7c57db8215a3a08595c4fa8cf3e0bc8dcb3405f9 (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.java6
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() {