WaitForLeader: Also wait for a non-zero index.
On my laptop, I'm currently seeing a huge number of intermittent test failures all related to WaitForLeader returning after the test node has become a leader, but before it has actually finished starting up, in particular, performing the serf/Raft reconciliation. Waiting for the index to become nonzero makes the tests pass reliably, by also blocking until the new leader has started committing state.
This commit is contained in:
parent
63c96627df
commit
87231e5234
|
@ -36,7 +36,7 @@ func WaitForLeader(t *testing.T, rpc rpcFn, dc string) structs.IndexedNodes {
|
|||
Datacenter: dc,
|
||||
}
|
||||
err := rpc("Catalog.ListNodes", args, &out)
|
||||
return out.QueryMeta.KnownLeader, err
|
||||
return out.QueryMeta.KnownLeader && out.Index > 0, err
|
||||
}, func(err error) {
|
||||
t.Fatalf("failed to find leader: %v", err)
|
||||
})
|
||||
|
|
Loading…
Reference in New Issue