Skip to content

Commit 2d6a14a

Browse files
authored
tests: fix TestKeyspaceServiceLimitAPI (#9839)
close #9838 Signed-off-by: Ryan Leung <rleungx@gmail.com>
1 parent 6718ae5 commit 2d6a14a

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

pkg/mcs/resourcemanager/server/keyspace_manager.go

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff 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+
281290
func (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
413422
func (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

0 commit comments

Comments
 (0)