Skip to content

Commit 79df847

Browse files
shihuili1218yuanyuan.liu
andauthored
Add bolt reconnection parameter: jraft.bolt.conn.reconnect (#1136)
* add param "jraft.bolt.conn.reconnect" * add param "jraft.bolt.conn.reconnect" * refactor --------- Co-authored-by: yuanyuan.liu <[email protected]>
1 parent 4d53aa5 commit 79df847

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

jraft-core/src/main/java/com/alipay/sofa/jraft/option/RpcOptions.java

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
package com.alipay.sofa.jraft.option;
1818

19+
import com.alipay.sofa.jraft.util.SystemPropertyUtil;
1920
import com.alipay.sofa.jraft.util.concurrent.FixedThreadsExecutorGroup;
2021
import com.codahale.metrics.MetricRegistry;
2122

@@ -62,6 +63,12 @@ public class RpcOptions {
6263
*/
6364
private FixedThreadsExecutorGroup appendEntriesExecutors;
6465

66+
/**
67+
* Whether to enable bolt reconnection, default enabled(true).
68+
*/
69+
private boolean enableBoltReconnect = SystemPropertyUtil.getBoolean(
70+
"jraft.bolt.conn.reconnect", true);
71+
6572
public int getRpcConnectTimeoutMs() {
6673
return this.rpcConnectTimeoutMs;
6774
}
@@ -118,11 +125,20 @@ public void setAppendEntriesExecutors(FixedThreadsExecutorGroup appendEntriesExe
118125
this.appendEntriesExecutors = appendEntriesExecutors;
119126
}
120127

128+
public boolean isEnableBoltReconnect() {
129+
return enableBoltReconnect;
130+
}
131+
132+
public void setEnableBoltReconnect(boolean enableBoltReconnect) {
133+
this.enableBoltReconnect = enableBoltReconnect;
134+
}
135+
121136
@Override
122137
public String toString() {
123138
return "RpcOptions{" + "rpcConnectTimeoutMs=" + rpcConnectTimeoutMs + ", rpcDefaultTimeout="
124139
+ rpcDefaultTimeout + ", rpcInstallSnapshotTimeout=" + rpcInstallSnapshotTimeout
125140
+ ", rpcProcessorThreadPoolSize=" + rpcProcessorThreadPoolSize + ", enableRpcChecksum="
126-
+ enableRpcChecksum + ", metricRegistry=" + metricRegistry + '}';
141+
+ enableRpcChecksum + ", metricRegistry=" + metricRegistry + ", enableBoltReconnect="
142+
+ enableBoltReconnect + '}';
127143
}
128144
}

jraft-core/src/main/java/com/alipay/sofa/jraft/rpc/impl/BoltRpcClient.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ public boolean init(final RpcOptions opts) {
5757
this.rpcClient.option(BoltClientOption.NETTY_FLUSH_CONSOLIDATION, true);
5858
this.rpcClient.initWriteBufferWaterMark(BoltRaftRpcFactory.CHANNEL_WRITE_BUF_LOW_WATER_MARK,
5959
BoltRaftRpcFactory.CHANNEL_WRITE_BUF_HIGH_WATER_MARK);
60-
this.rpcClient.enableReconnectSwitch();
60+
this.rpcClient.option(BoltClientOption.CONN_RECONNECT_SWITCH, opts.isEnableBoltReconnect());
6161
this.rpcClient.startup();
6262
return true;
6363
}

0 commit comments

Comments
 (0)