cockroachdb / cockroachdb/cockroach
kv: integrate liveness range scans with admission control
- Dominant language
- Go
- Stars
- 32.5k
- Forks
- 4.1k
- PR merge metrics
- PR metrics pending
Description
The non-transactional `db.Scan` API does not set admission control headers.
This is an unintentional gap that allows non-urgent liveness range scans to
bypass AC entirely, contributing to latch contention on the liveness range
during incidents.
This issue covers:
1. Add AC headers to liveness range scans that don't need elevated priority.
Some scans are intentional and high-priority (e.g. heartbeats), but
others should be properly classified and rate-limited.
2. Evaluate the transactional vs. non-transactional API in the liveness
package. Rate-limiting through AC is complicated by the non-transactional
API ergonomics, so this evaluation is a prerequisite for a clean
solution.
See also #164066 (original issue).
Jira issue: CRDB-61211
Contributor guide
Assessment
This issue has not been assessed yet.