Adds a longer retry period for the AE deferred output test.

There's some justification in the comments about this and a TODO to
improve this later.

Fixes #3668
pull/3672/head
James Phillips 7 years ago
parent 7b966e2d26
commit 2937656f8e
No known key found for this signature in database
GPG Key ID: 77183E682AC5FC11

@ -1114,8 +1114,17 @@ func TestAgentAntiEntropy_Check_DeferSync(t *testing.T) {
} }
} }
} }
// Wait for a deferred update // Wait for a deferred update. TODO (slackpad) This isn't a great test
retry.Run(t, func(r *retry.R) { // because we might be stuck in the random stagger from the full sync
// after the leader election (~3 seconds) so it's easy to exceed the
// default retry timeout here. Extending this makes the test a little
// less flaky, but this isn't very clean for this first deferred update
// since the full sync might pick it up, not the timer trigger. The
// good news is that the later update below should be well past the full
// sync so we are getting some coverage. We should rethink this a bit and
// rework the deferred update stuff to be more testable.
timer := &retry.Timer{Timeout: 6 * time.Second, Wait: 100 * time.Millisecond}
retry.RunWith(timer, t, func(r *retry.R) {
if err := a.RPC("Health.NodeChecks", &req, &checks); err != nil { if err := a.RPC("Health.NodeChecks", &req, &checks); err != nil {
r.Fatal(err) r.Fatal(err)
} }

Loading…
Cancel
Save