Browse Source

Merge pull request #6320 from xiang90/fixTestIssue3699

integration: fix live lock in issue3699
Xiang Li 9 years ago
parent
commit
48706a9cd6
1 changed files with 4 additions and 0 deletions
  1. 4 0
      integration/cluster_test.go

+ 4 - 0
integration/cluster_test.go

@@ -318,6 +318,10 @@ func TestIssue3699(t *testing.T) {
 	for leaderID != 3 {
 		c.Members[leaderID].Stop(t)
 		<-c.Members[leaderID].s.StopNotify()
+		// do not restart the killed member immediately.
+		// the member will advance its election timeout after restart,
+		// so it will have a better chance to become the leader again.
+		time.Sleep(time.Duration(electionTicks * int(tickDuration)))
 		c.Members[leaderID].Restart(t)
 		leaderID = c.waitLeader(t, c.Members)
 	}