Skip to content

Commit 4e87632

Browse files
committed
kvserver: deflake TestLeasePreferencesDuringOutage
There was a race here, when heartbeating node liveness epochs, where another node could increment our epoch. This patch retries in such situations. Fixes #142795 Release note: None
1 parent 6f4f374 commit 4e87632

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

pkg/kv/kvserver/client_lease_test.go

+11-1
Original file line numberDiff line numberDiff line change
@@ -1178,7 +1178,17 @@ func TestLeasePreferencesDuringOutage(t *testing.T) {
11781178
// allocator on server 0 may see everyone as temporarily dead due to the
11791179
// clock move above.
11801180
for _, i := range []int{0, 3, 4} {
1181-
require.NoError(t, tc.Servers[i].HeartbeatNodeLiveness())
1181+
testutils.SucceedsSoon(t, func() error {
1182+
err := tc.Servers[i].HeartbeatNodeLiveness()
1183+
if err != nil {
1184+
if errors.Is(err, liveness.ErrEpochIncremented) {
1185+
t.Logf("retrying heartbeat after err %s", err)
1186+
return err
1187+
}
1188+
t.Fatalf("unexpected error heartbeating liveness record for server %d: %s", i, err)
1189+
}
1190+
return nil
1191+
})
11821192
require.NoError(t, tc.GetFirstStoreFromServer(t, i).GossipStore(ctx, true))
11831193
}
11841194
}

0 commit comments

Comments
 (0)