Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
26910: storage: tick only raft groups which are not quiesced r=bdarnell a=spencerkimball Previously we were ticking every replica, regardless of whether or not it was part of a quiesced range, at each tick interval. For 10,000 ranges this was noticeable. Each `Replica.tick()` operation enqueues on a scheduler queue, is serviced by a goroutine which calls `time.Now()`, and acquires several mutexes before discovering it's quiesced and exiting. We happen to have a carefully maintained map of unquiesced replicas, which this change uses instead of all of the store's replicas, when populating the `rangeIDs` slice used to enqueue Raft ticks. Release note (performance improvement): less CPU utilization with many ranges. Co-authored-by: Spencer Kimball <[email protected]>
- Loading branch information