Skip to content

Commit b68a7d8

Browse files
committed
mmaprototype: return meansLoad directly for computeMeansForStoreSet
Previously, computeMeansForStoreSet received *meansForStoreSet, which contained information like stores needed to compute the mean. A recent commit changed it to take *meansLoad, and computeMeansForStoreSet doesn’t actually use any fields as provided information. This commit updates computeMeansForStoreSet to directly construct and return a meanLoad instead.
1 parent b37cd94 commit b68a7d8

File tree

2 files changed

+5
-6
lines changed

2 files changed

+5
-6
lines changed

pkg/kv/kvserver/allocator/mmaprototype/allocator_state.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,9 +474,8 @@ func (a *allocatorState) rebalanceStores(
474474
if len(candsPL) <= 1 {
475475
continue // leaseholder is the only candidate
476476
}
477-
var means meansLoad
478477
clear(scratchNodes)
479-
computeMeansForStoreSet(a.cs, &means, candsPL, scratchNodes, scratchStores)
478+
means := computeMeansForStoreSet(a.cs, candsPL, scratchNodes, scratchStores)
480479
sls := a.cs.computeLoadSummary(ctx, store.StoreID, &means.storeLoad, &means.nodeLoad)
481480
log.KvDistribution.VInfof(ctx, 2, "considering lease-transfer r%v from s%v: candidates are %v", rangeID, store.StoreID, candsPL)
482481
if sls.dimSummary[CPURate] < overloadSlow {

pkg/kv/kvserver/allocator/mmaprototype/load.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ func (mm *meansMemo) getMeans(expr constraintsDisj) *meansForStoreSet {
344344
}
345345
means.constraintsDisj = expr
346346
mm.constraintMatcher.constrainStoresForExpr(expr, &means.stores)
347-
computeMeansForStoreSet(mm.loadInfoProvider, &means.meansLoad, means.stores, mm.scratchNodes, mm.scratchStores)
347+
means.meansLoad = computeMeansForStoreSet(mm.loadInfoProvider, means.stores, mm.scratchNodes, mm.scratchStores)
348348
return means
349349
}
350350

@@ -374,13 +374,12 @@ func (mm *meansMemo) getStoreLoadSummary(
374374
// the mean.
375375
func computeMeansForStoreSet(
376376
loadProvider loadInfoProvider,
377-
means *meansLoad,
378377
stores []roachpb.StoreID,
379378
scratchNodes map[roachpb.NodeID]*NodeLoad,
380379
scratchStores map[roachpb.StoreID]struct{},
381-
) {
380+
) (means meansLoad) {
382381
if len(stores) == 0 {
383-
panic(fmt.Sprintf("no stores for meansForStoreSet: %v", *means))
382+
panic(fmt.Sprintf("no stores for meansForStoreSet: %v", stores))
384383
}
385384
clear(scratchNodes)
386385
clear(scratchStores)
@@ -431,6 +430,7 @@ func computeMeansForStoreSet(
431430
float64(means.nodeLoad.loadCPU) / float64(means.nodeLoad.capacityCPU)
432431
means.nodeLoad.loadCPU /= LoadValue(n)
433432
means.nodeLoad.capacityCPU /= LoadValue(n)
433+
return means
434434
}
435435

436436
// loadSummary aggregates across all load dimensions for a store, or a node.

0 commit comments

Comments
 (0)