diff --git a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerImplUtils.java b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerImplUtils.java index c5010a5346..e4f661afc7 100644 --- a/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerImplUtils.java +++ b/ratis-server/src/main/java/org/apache/ratis/server/impl/ServerImplUtils.java @@ -141,7 +141,9 @@ synchronized void append(List entriesTermIndices) { // validate startIndex final Map.Entry lastEntry = map.lastEntry(); if (lastEntry != null) { - Preconditions.assertSame(lastEntry.getValue().getNextIndex(), indices.startIndex, "startIndex"); + final long nextIndex = lastEntry.getValue().getNextIndex(); + Preconditions.assertTrue(indices.startIndex >= nextIndex, + () -> "startIndex = " + indices.startIndex + " < nextIndex = " + nextIndex); } map.put(indices.startIndex, indices); }