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();
   }
 

Reply via email to