This is an automated email from the ASF dual-hosted git repository.
ericpai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 091c14a [IOTDB-2625] Optimize RaftMember initialization (#5144)
091c14a is described below
commit 091c14affa80304f9b45d15f82516b6da378a524
Author: BaiJian <[email protected]>
AuthorDate: Tue Mar 1 16:58:52 2022 +0800
[IOTDB-2625] Optimize RaftMember initialization (#5144)
---
.../java/org/apache/iotdb/cluster/server/member/RaftMember.java | 7 +++++--
.../apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java | 1 +
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
index 933087b..9436df6 100644
---
a/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
+++
b/cluster/src/main/java/org/apache/iotdb/cluster/server/member/RaftMember.java
@@ -235,8 +235,11 @@ public abstract class RaftMember implements
RaftMemberMBean {
*/
private LogDispatcher logDispatcher;
- /** If this node can not be the leader, this parameter will be set true. */
- private volatile boolean skipElection = false;
+ /**
+ * If this node can not be the leader, this parameter will be set true. This
field must be true
+ * only after all necessary threads are ready
+ */
+ private volatile boolean skipElection = true;
/**
* localExecutor is used to directly execute plans like load configuration
in the underlying IoTDB
diff --git
a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
index 31c014f..d6ebad3 100644
---
a/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
+++
b/cluster/src/test/java/org/apache/iotdb/cluster/server/heartbeat/HeartbeatThreadTest.java
@@ -163,6 +163,7 @@ public class HeartbeatThreadTest {
}
member.setAllNodes(partitionGroup);
member.setThisNode(TestUtils.getNode(0));
+ member.setSkipElection(false);
receivedNodes.clear();
}