kvserver: include only voters in state replicate when checking if range can make progress on replication changes #114570
Labels
A-kv-distribution
Relating to rebalancing and leasing.
C-enhancement
Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
T-kv
KV Team
Is your feature request related to a problem? Please describe.
When making replication changes, the proposer will check that the range can make progress:
cockroach/pkg/kv/kvserver/replica_command.go
Lines 2386 to 2394 in b06849b
This check excludes non-live voters from the perspective of node liveness, but doesn't consider the raft status of replicas.
This can lead to replication changes which result in temporary unavailability like seen in #114349.
Where replicas which are behind
StateSnapshot
are included in the quorum, despite not participating until being caught up.Describe the solution you'd like
Exclude replicas which are not in
StateReplicate
when assessing if the range can make progress here:https://github.com/cockroachdb/cockroach/blob/b06849b9a2a2c0aab6950764ddff1bb125119df5/pkg/kv/kvserver/replica_command.go#L2386C30-L2386C30
Jira issue: CRDB-33570
The text was updated successfully, but these errors were encountered: