aboutsummaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-11-30 09:12:36 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-11-30 09:12:36 +0000
commitb54e1aecb0317e7381fbba262bcb29d55af85923 (patch)
tree567cba69faa3c401a5bfba7b3094eccd44c2ce24 /messagebus
parent8001f2c4cf42344178cc4ecb0c695ef701b2bbce (diff)
A configurable limit for waking up fnet thread
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetwork.java3
-rwxr-xr-xmessagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java11
2 files changed, 13 insertions, 1 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 b0724ad6029..0f2bc07a366 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
@@ -87,7 +87,8 @@ public class RPCNetwork implements Network, MethodHandler {
public RPCNetwork(RPCNetworkParams params, SlobrokConfigSubscriber slobrokConfig) {
this.slobroksConfig = slobrokConfig;
identity = params.getIdentity();
- orb = new Supervisor(new Transport("mbus-rpc-" + identity.getServicePrefix(), params.getNumNetworkThreads(), shouldEnableTcpNodelay(params.getOptimization())));
+ orb = new Supervisor(new Transport("mbus-rpc-" + identity.getServicePrefix(), params.getNumNetworkThreads(),
+ shouldEnableTcpNodelay(params.getOptimization()), params.getWakeupTriggerCount()));
orb.setMaxInputBufferSize(params.getMaxInputBufferSize());
orb.setMaxOutputBufferSize(params.getMaxOutputBufferSize());
targetPool = new RPCTargetPool(params.getConnectionExpireSecs(), params.getNumTargetsPerSpec());
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java
index e77cddd8b06..86f426a0a7f 100755
--- a/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/network/rpc/RPCNetworkParams.java
@@ -21,6 +21,8 @@ public class RPCNetworkParams {
private double connectionExpireSecs = 30;
private int numTargetsPerSpec = 1;
private int numNetworkThreads = 2;
+
+ private int wakeupTriggerCount = 1;
public enum Optimization {LATENCY, THROUGHPUT}
Optimization optimization = Optimization.LATENCY;
@@ -216,4 +218,13 @@ public class RPCNetworkParams {
this.maxOutputBufferSize = maxOutputBufferSize;
return this;
}
+
+ public int getWakeupTriggerCount() {
+ return wakeupTriggerCount;
+ }
+
+ public RPCNetworkParams setWakeupTriggerCount(int wakeupTriggerCount) {
+ this.wakeupTriggerCount = wakeupTriggerCount;
+ return this;
+ }
}