From 2fa5b913fecd5d748cd2974cd7d17d7752a7c8af Mon Sep 17 00:00:00 2001 From: Xiang Li Date: Mon, 2 May 2016 21:04:53 -0700 Subject: [PATCH] raft: fix flaky test We recently changed the randomized election timeout from (et, 2*et-1] tp [et, 2*et-2], where et is user set election timeout. So 2*et might trigger two elections instead of one. We need to fix the test code accordingly. Thanks for Tikv guys for finding this issue. We probably need to randomize etcd/raft test more. --- raft/raft_paper_test.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/raft/raft_paper_test.go b/raft/raft_paper_test.go index ff87bf21f..35b7332d0 100644 --- a/raft/raft_paper_test.go +++ b/raft/raft_paper_test.go @@ -159,7 +159,7 @@ func testNonleaderStartElection(t *testing.T, state StateType) { r.becomeCandidate() } - for i := 0; i < 2*et; i++ { + for i := 1; i < 2*et; i++ { r.tick() } @@ -785,7 +785,7 @@ func TestVoteRequest(t *testing.T) { }) r.readMessages() - for i := 0; i < r.electionTimeout*2; i++ { + for i := 1; i < r.electionTimeout*2; i++ { r.tickElection() }