-
Notifications
You must be signed in to change notification settings - Fork 4.1k
kvserver: allocator should use io threshold instead of l0 sublevels #85084
Copy link
Copy link
Closed
Labels
A-kv-distributionRelating to rebalancing and leasing.Relating to rebalancing and leasing.C-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)T-kvKV TeamKV Team
Description
io threshold encapsulates the io overload a store is experiencing. We currently use the smoohted (max over 10 minutes) L0 sublevel count to exclude stores from rebalance targets.
| func (o StoreHealthOptions) rebalanceToReadAmpIsHealthy( |
This should be swapped with the io threshold instead, as this encapsulates the files and sublevels together.
cockroach/pkg/kv/kvserver/store.go
Lines 945 to 948 in d7b901d
| ioThreshold struct { | |
| syncutil.Mutex | |
| t *admissionpb.IOThreshold // never nil | |
| } |
The value used should remain smoothed, using the swag utility on the receiver end to track the maximum.
Added in #78608
| type Swag struct { |
Jira issue: CRDB-18032
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
A-kv-distributionRelating to rebalancing and leasing.Relating to rebalancing and leasing.C-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)T-kvKV TeamKV Team