integration: wait five elections before creating watch for require leader test

Otherwise new watch will race with the leader watcher receiving the loss event.
This commit is contained in:
Anthony Romano 2017-02-10 15:46:48 -08:00
parent 36f5b713bf
commit a4a8393cb7

View File

@ -681,7 +681,9 @@ func TestWatchWithRequireLeader(t *testing.T) {
// wait for election timeout, then member[0] will not have a leader.
tickDuration := 10 * time.Millisecond
time.Sleep(time.Duration(3*clus.Members[0].ElectionTicks) * tickDuration)
// existing streams need three elections before they're torn down; wait until 5 elections cycle
// so proxy tests receive a leader loss event on its existing watch before creating a new watch.
time.Sleep(time.Duration(5*clus.Members[0].ElectionTicks) * tickDuration)
chLeader := liveClient.Watch(clientv3.WithRequireLeader(context.TODO()), "foo", clientv3.WithRev(1))
chNoLeader := liveClient.Watch(context.TODO(), "foo", clientv3.WithRev(1))