rangefeed: limit memory budget used by a single tenant per kv node #78942
Labels
A-kv-replication
Relating to Raft, consensus, and coordination.
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.
Current rangefeed memory budget model has one pool for system tenant system ranges and another for all user ranges. This model while protecting kv nodes from running out of memory doesn't isolate tenants from each other. One tenant could theoretically hoard all rangefeed memory in a slow feed thus forcing other tenants to restart feeds and make catch up scans.
Describe the solution you'd like
A better approach could be limiting amount of memory used by each individual tenant per node. That would add another level in budget hierarchy where each range has a budget which is pooled with a capped budget per tenant which is then further pooled with all rangefeeds on the node.
Jira issue: CRDB-14456
Epic CRDB-37617
The text was updated successfully, but these errors were encountered: