cockroachdb / cockroachdb/cockroach
kvserver: inconsistent span configs between outgoing and incoming leaseholders causes temporary violations
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
We don't have causal consistency guarantees that if a previous leaseholder sees an updated span config (v2) that the new leaseholder for the range will also only see => v2.
The period of time where this state occurs is usually short, however still long enough to remove several replicas from a range if the old configuration had a lower RF or different constraints.
The impact is potential (temporary) underreplication and constraint violation. This also results in redundant work, as the new leaseholder has to undo its replication activity from the period where it uses a stale span config, once it receives the updated span config.
Repro can be found by checking #101519 comment thread.
Jira issue: CRDB-27826
Contributor guide
Assessment
This issue has not been assessed yet.