File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
pkg/mcs/resourcemanager/server Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -278,6 +278,15 @@ func (krgm *keyspaceResourceGroupManager) getServiceLimiter() *serviceLimiter {
278278 return krgm .sl
279279}
280280
281+ func (krgm * keyspaceResourceGroupManager ) getServiceLimit () (float64 , bool ) {
282+ krgm .RLock ()
283+ defer krgm .RUnlock ()
284+ if krgm .sl == nil || krgm .sl .ServiceLimit == 0 {
285+ return 0 , false
286+ }
287+ return krgm .sl .ServiceLimit , true
288+ }
289+
281290func (krgm * keyspaceResourceGroupManager ) getOrCreateRUTracker (name string ) * ruTracker {
282291 rt := krgm .getRUTracker (name )
283292 if rt == nil {
@@ -411,16 +420,16 @@ func (rt *ruTracker) getRUPerSec() float64 {
411420// - No group exceeds its configured limits
412421// - Inactive groups (no RU consumption) are skipped to avoid unnecessary computation
413422func (krgm * keyspaceResourceGroupManager ) conciliateFillRates () {
414- serviceLimiter := krgm .getServiceLimiter ()
423+ serviceLimit , isSet := krgm .getServiceLimit ()
415424 // No need to conciliate if the service limit is not set or is 0.
416- if serviceLimiter == nil || serviceLimiter . ServiceLimit == 0 {
425+ if ! isSet || serviceLimit == 0 {
417426 return
418427 }
419428 priorityQueues := krgm .getPriorityQueues ()
420429 if len (priorityQueues ) == 0 {
421430 return
422431 }
423- remainingServiceLimit := serviceLimiter . ServiceLimit
432+ remainingServiceLimit := serviceLimit
424433 for _ , queue := range priorityQueues {
425434 if len (queue ) == 0 {
426435 continue
You can’t perform that action at this time.
0 commit comments