From 41dee84733ef8dec2f34d17984efad3dc3afb0b8 Mon Sep 17 00:00:00 2001 From: "swingbach@gmail.com" Date: Thu, 4 Aug 2016 18:31:22 +0800 Subject: [PATCH] raft: fix #6096 --- raft/raft_test.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/raft/raft_test.go b/raft/raft_test.go index 971b1399d..c0e66d3e7 100644 --- a/raft/raft_test.go +++ b/raft/raft_test.go @@ -1295,6 +1295,10 @@ func TestLeaderElectionWithCheckQuorum(t *testing.T) { t.Errorf("state = %s, want %s", c.state, StateFollower) } + // need to reset randomizedElectionTimeout larger than electionTimeout again, + // because the value might be reset to electionTimeout since the last state changes + setRandomizedElectionTimeout(a, a.electionTimeout+1) + setRandomizedElectionTimeout(b, b.electionTimeout+2) for i := 0; i < a.electionTimeout; i++ { a.tick() } @@ -2225,6 +2229,7 @@ func TestLeaderTransferWithCheckQuorum(t *testing.T) { for i := 1; i < 4; i++ { r := nt.peers[uint64(i)].(*raft) r.checkQuorum = true + setRandomizedElectionTimeout(r, r.electionTimeout+i) } // Letting peer 2 electionElapsed reach to timeout so that it can vote for peer 1