You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ratis.apache.org by sz...@apache.org on 2023/02/24 20:04:07 UTC
[ratis] branch master updated: RATIS-1791. Intermittent failure in ServerRestartTests#testRestartFollower (#827)
This is an automated email from the ASF dual-hosted git repository.
szetszwo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ratis.git
The following commit(s) were added to refs/heads/master by this push:
new 3a19630a8 RATIS-1791. Intermittent failure in ServerRestartTests#testRestartFollower (#827)
3a19630a8 is described below
commit 3a19630a8fe17e055f820b712450123201641421
Author: Kaijie Chen <ck...@apache.org>
AuthorDate: Sat Feb 25 04:04:01 2023 +0800
RATIS-1791. Intermittent failure in ServerRestartTests#testRestartFollower (#827)
---
.../test/java/org/apache/ratis/server/ServerRestartTests.java | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/ratis-test/src/test/java/org/apache/ratis/server/ServerRestartTests.java b/ratis-test/src/test/java/org/apache/ratis/server/ServerRestartTests.java
index f2e05253b..db5cdc34c 100644
--- a/ratis-test/src/test/java/org/apache/ratis/server/ServerRestartTests.java
+++ b/ratis-test/src/test/java/org/apache/ratis/server/ServerRestartTests.java
@@ -119,18 +119,22 @@ public abstract class ServerRestartTests<CLUSTER extends MiniRaftCluster>
final RaftLog followerLog = follower.getRaftLog();
final long followerLastIndex = followerLog.getLastEntryTermIndex().getIndex();
Assert.assertTrue(followerLastIndex >= leaderLastIndex);
+ final long leaderFinalIndex = cluster.getLeader().getRaftLog().getLastEntryTermIndex().getIndex();
+ Assert.assertEquals(leaderFinalIndex, followerLastIndex);
final File followerOpenLogFile = getOpenLogFile(follower);
final File leaderOpenLogFile = getOpenLogFile(cluster.getDivision(leaderId));
// shutdown all servers
- for(RaftServer s : cluster.getServers()) {
- s.close();
+ // shutdown followers first, so there won't be any new leader elected
+ for (RaftServer.Division d : cluster.getFollowers()) {
+ d.close();
}
+ cluster.getDivision(leaderId).close();
// truncate log and
assertTruncatedLog(followerId, followerOpenLogFile, followerLastIndex, cluster);
- assertTruncatedLog(leaderId, leaderOpenLogFile, leaderLastIndex, cluster);
+ assertTruncatedLog(leaderId, leaderOpenLogFile, leaderFinalIndex, cluster);
// restart and write something.
cluster.restart(false);