-
Notifications
You must be signed in to change notification settings - Fork 4.1k
admission: improvements to KV admission #65957
Copy link
Copy link
Closed
Labels
A-admission-controlC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)
Description
Misc TODOs/limitations in KV admission control:
- Most work initiated from within KV bypasses admission control. This is not appropriate especially for background work like GC, backups etc. Fixing this mainly requires finding the places in the code where the low priority work originates and plumbing the appropriate
AdmissionHeader. (Export, GC are now subject to admission control kvserver,backupccl: make export, gc subject to admission control #71109, but there are TODOs regarding priority assignment) - There is no
KVLowPriWorkWorkKind, which means even low-priority KV work will get prioritized over user-facing SQL processing. (Edit: with the elastic classification, this is no longer true, since low-priority KV work goes through a different grant coordinator). - The initial scan for
RangeFeedRequestis not subject to admission control. - Read-only work is throttled when storage engines are overloaded due to writes. We need a way to distinguish work that includes writes, and make it pass through an additional
WorkQueuethat is hooked up to anGranterthat only uses write overload as a resource signal. - When there are multiple stores, a single engine (for a particular store) being overloaded due to writes will cause work to be throttled for all stores.
Jira issue: CRDB-7813
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-admission-controlC-enhancementSolution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)Solution expected to add code/behavior + preserve backward-compat (pg compat issues are exception)