You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2023/02/17 07:50:36 UTC

[iotdb] branch native_raft updated: pass 3 node test

This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch native_raft
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/native_raft by this push:
     new 2cf457a8c2 pass 3 node test
2cf457a8c2 is described below

commit 2cf457a8c23207d623a34e50c1fc2c22436780a3
Author: Tian Jiang <jt...@163.com>
AuthorDate: Fri Feb 17 15:51:55 2023 +0800

    pass 3 node test
---
 .../protocol/heartbeat/HeartbeatThread.java        |  2 +-
 .../apache/iotdb/consensus/raft/ReplicateTest.java | 33 +++++++++-------------
 2 files changed, 15 insertions(+), 20 deletions(-)

diff --git a/consensus/src/main/java/org/apache/iotdb/consensus/natraft/protocol/heartbeat/HeartbeatThread.java b/consensus/src/main/java/org/apache/iotdb/consensus/natraft/protocol/heartbeat/HeartbeatThread.java
index 97f6c0e341..ff46396b0c 100644
--- a/consensus/src/main/java/org/apache/iotdb/consensus/natraft/protocol/heartbeat/HeartbeatThread.java
+++ b/consensus/src/main/java/org/apache/iotdb/consensus/natraft/protocol/heartbeat/HeartbeatThread.java
@@ -41,7 +41,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 /**
  * HeartbeatThread takes the responsibility to send heartbeats (when this node is a leader), check
  * if the leader is still online (when this node is a follower) or start elections (when this node
- * is a elector).
+ * is an elector).
  */
 public class HeartbeatThread implements Runnable {
 
diff --git a/consensus/src/test/java/org/apache/iotdb/consensus/raft/ReplicateTest.java b/consensus/src/test/java/org/apache/iotdb/consensus/raft/ReplicateTest.java
index e4c59f6115..4c38b6c6f9 100644
--- a/consensus/src/test/java/org/apache/iotdb/consensus/raft/ReplicateTest.java
+++ b/consensus/src/test/java/org/apache/iotdb/consensus/raft/ReplicateTest.java
@@ -138,16 +138,11 @@ public class ReplicateTest {
 
     for (int i = 0; i < CHECK_POINT; i++) {
       servers.get(0).write(gid, new TestEntry(i, peers.get(0)));
-      servers.get(1).write(gid, new TestEntry(i, peers.get(1)));
-      servers.get(2).write(gid, new TestEntry(i, peers.get(2)));
-      Assert.assertEquals(i, servers.get(0).getMember(gid).getLastIndex());
-      Assert.assertEquals(i, servers.get(1).getMember(gid).getLastIndex());
-      Assert.assertEquals(i, servers.get(2).getMember(gid).getLastIndex());
     }
 
     for (int i = 0; i < 3; i++) {
       long start = System.currentTimeMillis();
-      while (servers.get(i).getMember(gid).getAppliedIndex() < CHECK_POINT) {
+      while (servers.get(i).getMember(gid).getAppliedIndex() < CHECK_POINT - 1) {
         long current = System.currentTimeMillis();
         if ((current - start) > 60 * 1000) {
           Assert.fail("Unable to replicate entries");
@@ -156,12 +151,12 @@ public class ReplicateTest {
       }
     }
 
-    Assert.assertEquals(CHECK_POINT, servers.get(0).getMember(gid).getAppliedIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(1).getMember(gid).getAppliedIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(2).getMember(gid).getAppliedIndex());
-    Assert.assertEquals(CHECK_POINT * 3, stateMachines.get(0).getRequestSet().size());
-    Assert.assertEquals(CHECK_POINT * 3, stateMachines.get(1).getRequestSet().size());
-    Assert.assertEquals(CHECK_POINT * 3, stateMachines.get(2).getRequestSet().size());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(0).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(1).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(2).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT, stateMachines.get(0).getRequestSet().size());
+    Assert.assertEquals(CHECK_POINT, stateMachines.get(1).getRequestSet().size());
+    Assert.assertEquals(CHECK_POINT, stateMachines.get(2).getRequestSet().size());
     Assert.assertEquals(stateMachines.get(0).read(null), stateMachines.get(1).read(null));
     Assert.assertEquals(stateMachines.get(2).read(null), stateMachines.get(1).read(null));
 
@@ -172,13 +167,13 @@ public class ReplicateTest {
     Assert.assertEquals(peers, servers.get(1).getMember(gid).getConfiguration());
     Assert.assertEquals(peers, servers.get(2).getMember(gid).getConfiguration());
 
-    Assert.assertEquals(CHECK_POINT, servers.get(0).getMember(gid).getLastIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(1).getMember(gid).getLastIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(2).getMember(gid).getLastIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(0).getMember(gid).getLastIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(1).getMember(gid).getLastIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(2).getMember(gid).getLastIndex());
 
     for (int i = 0; i < 3; i++) {
       long start = System.currentTimeMillis();
-      while (servers.get(i).getMember(gid).getAppliedIndex() < CHECK_POINT) {
+      while (servers.get(i).getMember(gid).getAppliedIndex() < CHECK_POINT - 1) {
         long current = System.currentTimeMillis();
         if ((current - start) > 60 * 1000) {
           Assert.fail("Unable to recover entries");
@@ -187,9 +182,9 @@ public class ReplicateTest {
       }
     }
 
-    Assert.assertEquals(CHECK_POINT, servers.get(0).getMember(gid).getAppliedIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(1).getMember(gid).getAppliedIndex());
-    Assert.assertEquals(CHECK_POINT, servers.get(2).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(0).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(1).getMember(gid).getAppliedIndex());
+    Assert.assertEquals(CHECK_POINT - 1, servers.get(2).getMember(gid).getAppliedIndex());
   }
 
   /**