Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
99643: kvserver: revert cockroachdb#98150 r=tbg a=tbg

This reverts cockroachdb#98150 because we think it introduced a problem that was detected
via the `replicate/wide` roachtest[^1]. It seems that for reasons still unknown
we do rely on the periodic gossip trigger on liveness lease extensions.

[^1]: cockroachdb#99268 (comment)

Touches cockroachdb#99268.
Touches cockroachdb#97966.
Closes cockroachdb#99268.
Touches cockroachdb#98945.

Tracked in cockroachdb#99652.

Epic: none
Release note: None

Co-authored-by: Tobias Grieger <[email protected]>
  • Loading branch information
craig[bot] and tbg committed Mar 27, 2023
2 parents 20e41ff + c46b8a6 commit b4f3ae3
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions pkg/kv/kvserver/replica_proposal.go
Original file line number Diff line number Diff line change
Expand Up @@ -419,13 +419,14 @@ func (r *Replica) leasePostApplyLocked(
}
}

// Potentially re-gossip if the range contains node liveness data. We need to
// perform this gossip at startup as soon as possible. We also need to perform
// this gossip if we're taking over after a leaseholder failure. In both cases,
// incremental liveness updates may have been lost, so we want to make sure that
// the latest view of node liveness ends up in gossip.
nls := keys.NodeLivenessSpan
if leaseChangingHands && iAmTheLeaseHolder && kvserverbase.ContainsKeyRange(r.descRLocked(), nls.Key, nls.EndKey) {
// Potentially re-gossip if the range contains system data (e.g. system
// config or node liveness). We need to perform this gossip at startup as
// soon as possible. Trying to minimize how often we gossip is a fool's
// errand. The node liveness info will be gossiped frequently (every few
// seconds) in any case due to the liveness heartbeats. And the system config
// will be gossiped rarely because it falls on a range with an epoch-based
// range lease that is only reacquired extremely infrequently.
if iAmTheLeaseHolder {
// NB: run these in an async task to keep them out of the critical section
// (r.mu is held here).
_ = r.store.stopper.RunAsyncTask(r.AnnotateCtx(context.Background()), "lease-triggers", func(ctx context.Context) {
Expand Down

0 comments on commit b4f3ae3

Please sign in to comment.