kvserver: don't quiesce ranges with expiration-based leases#94454
kvserver: don't quiesce ranges with expiration-based leases#94454erikgrinaker wants to merge 1 commit intocockroachdb:masterfrom
Conversation
ba91e2a to
8a57e73
Compare
nvb
left a comment
There was a problem hiding this comment.
Reviewed 2 of 2 files at r1, all commit messages.
Reviewable status:complete! 1 of 0 LGTMs obtained (waiting on @erikgrinaker)
pkg/kv/kvserver/replica_raft_quiesce.go line 199 at r1 (raw file):
hasPendingProposalsRLocked() bool hasPendingProposalQuotaRLocked() bool getLeaseRLocked() (roachpb.Lease, roachpb.Lease)
We should name these return args so that the contract here is clear without looking at the implementation.
pkg/kv/kvserver/replica_raft_quiesce.go line 280 at r1 (raw file):
return nil, nil, false } // We don't check the proposed next lease, if any, because we always transfer
nit: should this condition live near the check of ownsValidLeaseRLocked?
|
On second thought, I'm not sure we want to do this. If we add a setting to only use expiration-based leases, we probably still want to quiesce idle ranges and reacquire a new lease when unquiescing, which is likely to significantly reduce the overhead in large clusters. That implies that we won't eagerly renew expiration-based leases via |
This patch prevents quiescence with expiration-based leases, since we'll have to propose a lease extension shortly anyway. Epic: none Release note: None
8a57e73 to
a6619a2
Compare
|
Closing in favor of #100430. |
This patch prevents quiescence with expiration-based leases, since we'll have to propose a lease extension shortly anyway.
Touches #93903.
Epic: none
Release note: None