Repository: incubator-ratis
Updated Branches:
  refs/heads/master daee0b361 -> 7f1794316


Revert "RATIS-137. RaftBasicTests.testBasicAppendEntries may fail."

This reverts commit daee0b3615d4e583c3b0db4edfb00ebc8811b0ae.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ratis/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ratis/commit/7919c20d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ratis/tree/7919c20d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ratis/diff/7919c20d

Branch: refs/heads/master
Commit: 7919c20d63fb85d7e96184bd6eb1a0c9ff2dac2a
Parents: daee0b3
Author: Tsz-Wo Nicholas Sze <[email protected]>
Authored: Sat Nov 11 14:17:05 2017 -0800
Committer: Tsz-Wo Nicholas Sze <[email protected]>
Committed: Sat Nov 11 14:17:05 2017 -0800

----------------------------------------------------------------------
 .../java/org/apache/ratis/RaftBasicTests.java   | 12 ++++--
 .../java/org/apache/ratis/RaftTestUtil.java     | 42 +++++---------------
 2 files changed, 19 insertions(+), 35 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/7919c20d/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
----------------------------------------------------------------------
diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java 
b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
index 2647d8f..0cd9222 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftBasicTests.java
@@ -130,8 +130,10 @@ public abstract class RaftBasicTests extends BaseTest {
     Thread.sleep(cluster.getMaxTimeout() + 100);
     LOG.info(cluster.printAllLogs());
 
-    cluster.getServerAliveStream().map(s -> s.getState().getLog())
-        .forEach(log -> RaftTestUtil.assertLogEntries(log, term, messages));
+    cluster.getServerAliveStream()
+        .map(s -> s.getState().getLog())
+        .forEach(log -> RaftTestUtil.assertLogEntries(log,
+            log.getEntries(1, Long.MAX_VALUE), 1, term, messages));
   }
 
   @Test
@@ -170,8 +172,10 @@ public abstract class RaftBasicTests extends BaseTest {
     final RaftPeerId newLeaderId = waitForLeader(cluster).getId();
     Assert.assertEquals(followerToSendLog.getId(), newLeaderId);
 
-    cluster.getServerAliveStream().map(s -> s.getState().getLog())
-        .forEach(log -> RaftTestUtil.assertLogEntries(log, term, messages));
+    cluster.getServerAliveStream()
+            .map(s -> s.getState().getLog())
+            .forEach(log -> RaftTestUtil.assertLogEntries(log,
+                    log.getEntries(1, 2), 1, term, messages));
     LOG.info("terminating testOldLeaderCommit test");
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-ratis/blob/7919c20d/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java
----------------------------------------------------------------------
diff --git a/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java 
b/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java
index d1e614c..62545fe 100644
--- a/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java
+++ b/ratis-server/src/test/java/org/apache/ratis/RaftTestUtil.java
@@ -40,7 +40,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.io.IOException;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Objects;
 import java.util.function.BooleanSupplier;
 import java.util.function.IntSupplier;
 import java.util.function.Predicate;
@@ -165,40 +167,18 @@ public interface RaftTestUtil {
     }
   }
 
-  static void assertLogEntries(RaftLog log, long expectedTerm,
-      SimpleMessage... expectedMessages) {
-
-    final TermIndex[] termIndices = log.getEntries(1, Long.MAX_VALUE);
-    final List<LogEntryProto> entries = new 
ArrayList<>(expectedMessages.length);
-    for (TermIndex ti : termIndices) {
+  static void assertLogEntries(RaftLog log, TermIndex[] entries,
+      long startIndex, long expectedTerm, SimpleMessage... expectedMessages) {
+    Assert.assertEquals(expectedMessages.length, entries.length);
+    for(int i = 0; i < entries.length; i++) {
       final LogEntryProto e;
       try {
-        e = log.get(ti.getIndex());
+        e = log.get(entries[i].getIndex());
       } catch (IOException exception) {
-        throw new AssertionError("Failed to get log at " + ti, exception);
-      }
-
-      if (e.getLogEntryBodyCase() == 
LogEntryProto.LogEntryBodyCase.SMLOGENTRY) {
-        entries.add(e);
-      } else if (e.getLogEntryBodyCase() == 
LogEntryProto.LogEntryBodyCase.NOOP) {
-        LOG.info("Found " + LogEntryProto.LogEntryBodyCase.NOOP + " at " + ti
-            + ", ignoring it.");
-      } else {
-        throw new AssertionError(
-            "Unexpected LogEntryBodyCase " + e.getLogEntryBodyCase() + " at " 
+ ti);
-      }
-    }
-
-    long logIndex = 0;
-    Assert.assertEquals(expectedMessages.length, entries.size());
-    for (int i = 0; i < expectedMessages.length; i++) {
-      final LogEntryProto e = entries.get(i);
-      Assert.assertTrue(e.getTerm() >= expectedTerm);
-      if (e.getTerm() > expectedTerm) {
-        expectedTerm = e.getTerm();
+        throw new RuntimeException(exception);
       }
-      Assert.assertTrue(e.getIndex() > logIndex);
-      logIndex = e.getIndex();
+      Assert.assertEquals(expectedTerm, e.getTerm());
+      Assert.assertEquals(startIndex + i, e.getIndex());
       Assert.assertArrayEquals(expectedMessages[i].getContent().toByteArray(),
           e.getSmLogEntry().getData().toByteArray());
     }

Reply via email to