Skip to content

Commit c677a9d

Browse files
committed
asim: add AllocatorSync to asim node
This commit adds the AllocatorSync struct to the asim node. Each MMAllocator will have a corresponding AllocatorSync responsible for coordinating changes between the various queues and the MMA logic. This struct is currently unused and will be integrated in future commits. Epic: none Release note: none
1 parent bd8df07 commit c677a9d

File tree

3 files changed

+11
-0
lines changed

3 files changed

+11
-0
lines changed

pkg/kv/kvserver/asim/state/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ go_library(
2626
"//pkg/kv/kvserver/allocator",
2727
"//pkg/kv/kvserver/allocator/allocatorimpl",
2828
"//pkg/kv/kvserver/allocator/mmaprototype",
29+
"//pkg/kv/kvserver/allocator/mmaprototypehelpers",
2930
"//pkg/kv/kvserver/allocator/storepool",
3031
"//pkg/kv/kvserver/asim/config",
3132
"//pkg/kv/kvserver/asim/workload",

pkg/kv/kvserver/asim/state/impl.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import (
2323
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator"
2424
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/allocatorimpl"
2525
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/mmaprototype"
26+
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/mmaprototypehelpers"
2627
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/storepool"
2728
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/asim/config"
2829
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/asim/workload"
@@ -426,6 +427,7 @@ func (s *state) AddNode() Node {
426427
stores: []StoreID{},
427428
storepool: sp,
428429
mmAllocator: mmAllocator,
430+
as: mmaprototypehelpers.NewAllocatorSync(sp, mmAllocator),
429431
}
430432
s.nodes[nodeID] = node
431433
s.SetNodeLiveness(nodeID, livenesspb.NodeLivenessStatus_LIVE)
@@ -1400,6 +1402,7 @@ type node struct {
14001402
stores []StoreID
14011403
storepool *storepool.StorePool
14021404
mmAllocator mmaprototype.Allocator
1405+
as *mmaprototypehelpers.AllocatorSync
14031406
}
14041407

14051408
// NodeID returns the ID of this node.
@@ -1421,6 +1424,10 @@ func (n *node) MMAllocator() mmaprototype.Allocator {
14211424
return n.mmAllocator
14221425
}
14231426

1427+
func (n *node) AllocatorSync() *mmaprototypehelpers.AllocatorSync {
1428+
return n.as
1429+
}
1430+
14241431
// store is an implementation of the Store interface.
14251432
type store struct {
14261433
storeID StoreID

pkg/kv/kvserver/asim/state/state.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import (
1313
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator"
1414
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/allocatorimpl"
1515
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/mmaprototype"
16+
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/mmaprototypehelpers"
1617
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/allocator/storepool"
1718
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/asim/workload"
1819
"github.com/cockroachdb/cockroach/pkg/kv/kvserver/liveness/livenesspb"
@@ -217,6 +218,8 @@ type Node interface {
217218
Descriptor() roachpb.NodeDescriptor
218219
// TODO(wenyihu6): use this in mma store rebalancer
219220
MMAllocator() mmaprototype.Allocator
221+
// AllocatorSync returns the AllocatorSync for this node.
222+
AllocatorSync() *mmaprototypehelpers.AllocatorSync
220223
}
221224

222225
// Store is a container for replicas.

0 commit comments

Comments
 (0)