@effect/cluster 0.38.16 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ShardManager.js +17 -28
- package/dist/cjs/ShardManager.js.map +1 -1
- package/dist/cjs/internal/shardManager.js +10 -17
- package/dist/cjs/internal/shardManager.js.map +1 -1
- package/dist/dts/ShardManager.d.ts +2 -2
- package/dist/dts/ShardManager.d.ts.map +1 -1
- package/dist/esm/ShardManager.js +18 -29
- package/dist/esm/ShardManager.js.map +1 -1
- package/dist/esm/internal/shardManager.js +9 -15
- package/dist/esm/internal/shardManager.js.map +1 -1
- package/package.json +5 -5
- package/src/ShardManager.ts +36 -65
- package/src/internal/shardManager.ts +8 -23
package/dist/cjs/ShardManager.js
CHANGED
@@ -63,7 +63,7 @@ class Config extends /*#__PURE__*/Context.Tag("@effect/cluster/ShardManager/Conf
|
|
63
63
|
* @since 1.0.0
|
64
64
|
*/
|
65
65
|
static defaults = {
|
66
|
-
rebalanceDebounce: /*#__PURE__*/Duration.
|
66
|
+
rebalanceDebounce: /*#__PURE__*/Duration.seconds(3),
|
67
67
|
rebalanceInterval: /*#__PURE__*/Duration.seconds(20),
|
68
68
|
rebalanceRetryInterval: /*#__PURE__*/Duration.seconds(10),
|
69
69
|
rebalanceRate: 2 / 100,
|
@@ -306,10 +306,8 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
306
306
|
yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({
|
307
307
|
address: runner.address
|
308
308
|
}));
|
309
|
-
if (state.allUnassignedShards.length > 0) {
|
310
|
-
yield* rebalance(false);
|
311
|
-
}
|
312
309
|
yield* Effect.forkIn(persistRunners, scope);
|
310
|
+
yield* Effect.forkIn(rebalance, scope);
|
313
311
|
return MachineId.make(++machineId);
|
314
312
|
});
|
315
313
|
const unregister = Effect.fnUntraced(function* (address) {
|
@@ -330,42 +328,33 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
330
328
|
}));
|
331
329
|
}
|
332
330
|
yield* Effect.forkIn(persistRunners, scope);
|
333
|
-
yield* Effect.forkIn(rebalance
|
331
|
+
yield* Effect.forkIn(rebalance, scope);
|
334
332
|
});
|
335
333
|
let rebalancing = false;
|
336
|
-
let nextRebalanceImmediate = false;
|
337
334
|
let rebalanceDeferred;
|
338
335
|
const rebalanceFibers = yield* FiberSet.make();
|
339
|
-
const rebalance =
|
336
|
+
const rebalance = Effect.withFiberRuntime(fiber => {
|
340
337
|
if (!rebalancing) {
|
341
338
|
rebalancing = true;
|
342
|
-
return rebalanceLoop
|
343
|
-
}
|
344
|
-
if (immmediate) {
|
345
|
-
nextRebalanceImmediate = true;
|
339
|
+
return rebalanceLoop;
|
346
340
|
}
|
347
341
|
if (!rebalanceDeferred) {
|
348
342
|
rebalanceDeferred = Deferred.unsafeMake(fiber.id());
|
349
343
|
}
|
350
344
|
return Deferred.await(rebalanceDeferred);
|
351
345
|
});
|
352
|
-
const rebalanceLoop =
|
346
|
+
const rebalanceLoop = Effect.suspend(() => {
|
353
347
|
const deferred = rebalanceDeferred;
|
354
348
|
rebalanceDeferred = undefined;
|
355
|
-
|
356
|
-
immediate = nextRebalanceImmediate;
|
357
|
-
nextRebalanceImmediate = false;
|
358
|
-
}
|
359
|
-
return runRebalance(immediate).pipe(deferred ? Effect.intoDeferred(deferred) : _Function.identity, Effect.onExit(() => {
|
349
|
+
return runRebalance.pipe(deferred ? Effect.intoDeferred(deferred) : _Function.identity, Effect.onExit(() => {
|
360
350
|
if (!rebalanceDeferred) {
|
361
351
|
rebalancing = false;
|
362
352
|
return Effect.void;
|
363
353
|
}
|
364
|
-
return Effect.forkIn(rebalanceLoop
|
354
|
+
return Effect.forkIn(rebalanceLoop, scope);
|
365
355
|
}));
|
366
356
|
});
|
367
|
-
const runRebalance = Effect.
|
368
|
-
yield* Effect.annotateCurrentSpan("immmediate", immediate);
|
357
|
+
const runRebalance = Effect.gen(function* () {
|
369
358
|
yield* Effect.sleep(config.rebalanceDebounce);
|
370
359
|
if (state.shards.size === 0) {
|
371
360
|
yield* Effect.logDebug("No shards to rebalance");
|
@@ -376,7 +365,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
376
365
|
const unassignments = MutableHashMap.empty();
|
377
366
|
const changes = MutableHashSet.empty();
|
378
367
|
for (const group of state.shards.keys()) {
|
379
|
-
const [groupAssignments, groupUnassignments, groupChanges] =
|
368
|
+
const [groupAssignments, groupUnassignments, groupChanges] = (0, _shardManager.decideAssignmentsForShards)(state, group);
|
380
369
|
for (const [address, shards] of groupAssignments) {
|
381
370
|
(0, _shardManager.addAllNested)(assignments, address, Array.from(shards, id => (0, _ShardId.make)(group, id)));
|
382
371
|
}
|
@@ -387,7 +376,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
387
376
|
MutableHashSet.add(changes, address);
|
388
377
|
}
|
389
378
|
}
|
390
|
-
yield* Effect.logDebug(`Rebalancing shards
|
379
|
+
yield* Effect.logDebug(`Rebalancing shards`);
|
391
380
|
if (MutableHashSet.size(changes) === 0) return;
|
392
381
|
yield* Metric.increment(ClusterMetrics.rebalances);
|
393
382
|
// Ping runners first and remove unhealthy ones
|
@@ -452,22 +441,22 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
452
441
|
}).pipe(Effect.forkIn(scope));
|
453
442
|
yield* Effect.logWarning("Failed to rebalance runners: ", failedRunners);
|
454
443
|
}
|
455
|
-
if (wereFailures
|
444
|
+
if (wereFailures) {
|
456
445
|
// Try rebalancing again later if there were any failures
|
457
|
-
yield* Clock.sleep(config.rebalanceRetryInterval).pipe(Effect.zipRight(rebalance
|
446
|
+
yield* Clock.sleep(config.rebalanceRetryInterval).pipe(Effect.zipRight(rebalance), Effect.forkIn(scope));
|
458
447
|
}
|
459
448
|
yield* persistAssignments;
|
460
|
-
})
|
449
|
+
}).pipe(Effect.withSpan("ShardManager.rebalance", {
|
450
|
+
captureStackTrace: false
|
451
|
+
}));
|
461
452
|
const checkRunnerHealth = Effect.suspend(() => Effect.forEach(MutableHashMap.keys(state.allRunners), notifyUnhealthyRunner, {
|
462
453
|
concurrency: 10,
|
463
454
|
discard: true
|
464
455
|
}));
|
465
456
|
yield* Effect.addFinalizer(() => persistAssignments.pipe(Effect.catchAllCause(cause => Effect.logWarning("Failed to persist assignments on shutdown", cause)), Effect.zipRight(persistRunners.pipe(Effect.catchAllCause(cause => Effect.logWarning("Failed to persist runners on shutdown", cause))))));
|
466
457
|
yield* Effect.forkIn(persistRunners, scope);
|
467
|
-
// Rebalance immediately if there are unassigned shards
|
468
|
-
yield* Effect.forkIn(rebalance(state.allUnassignedShards.length > 0), scope);
|
469
458
|
// Start a regular cluster rebalance at the configured interval
|
470
|
-
yield* rebalance
|
459
|
+
yield* rebalance.pipe(Effect.andThen(Effect.sleep(config.rebalanceInterval)), Effect.forever, Effect.forkIn(scope));
|
471
460
|
yield* checkRunnerHealth.pipe(Effect.andThen(Effect.sleep(config.runnerHealthCheckInterval)), Effect.forever, Effect.forkIn(scope));
|
472
461
|
yield* Effect.gen(function* () {
|
473
462
|
const queue = yield* PubSub.subscribe(events);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ShardManager.js","names":["Rpc","_interopRequireWildcard","require","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","_Function","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","_ClusterError","ClusterMetrics","_shardManager","MachineId","_Runner","_RunnerAddress","_RunnerHealth","_Runners","_ShardId","_ShardingConfig","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardManager","Tag","exports","Config","defaults","rebalanceDebounce","millis","rebalanceInterval","seconds","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","RunnerAddress","shards","Array","ShardId","Rpcs","make","payload","runner","Runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","ShardingConfig","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","add","shardsPerGroup","makeShardId","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","RpcClientProtocol","shardManagerAddress","storage","ShardStorage","runnersApi","Runners","runnerHealthApi","RunnerHealth","shardingConfig","state","orDie","State","fromStorage","scope","events","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","fnUntraced","increment","tagged","runnerHealthChecked","toString","isAlive","logWarning","updateShardsState","isSome","value","fail","RunnerNotRegistered","addAssignments","logInfo","pretty","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","allUnassignedShards","length","rebalance","forkIn","unassignments","shard","equals","push","none","removeRunner","RunnerUnregistered","rebalancing","nextRebalanceImmediate","rebalanceDeferred","rebalanceFibers","immmediate","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","immediate","deferred","undefined","runRebalance","intoDeferred","identity","onExit","fn","annotateCurrentSpan","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","addAllNested","from","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"ShardManager.js","names":["Rpc","_interopRequireWildcard","require","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","_Function","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","_ClusterError","ClusterMetrics","_shardManager","MachineId","_Runner","_RunnerAddress","_RunnerHealth","_Runners","_ShardId","_ShardingConfig","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardManager","Tag","exports","Config","defaults","rebalanceDebounce","seconds","rebalanceInterval","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","RunnerAddress","shards","Array","ShardId","Rpcs","make","payload","runner","Runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","ShardingConfig","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","add","shardsPerGroup","makeShardId","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","RpcClientProtocol","shardManagerAddress","storage","ShardStorage","runnersApi","Runners","runnerHealthApi","RunnerHealth","shardingConfig","state","orDie","State","fromStorage","scope","events","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","fnUntraced","increment","tagged","runnerHealthChecked","toString","isAlive","logWarning","updateShardsState","isSome","value","fail","RunnerNotRegistered","addAssignments","logInfo","pretty","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","forkIn","rebalance","unassignments","shard","equals","push","none","removeRunner","length","RunnerUnregistered","rebalancing","rebalanceDeferred","rebalanceFibers","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","deferred","undefined","runRebalance","intoDeferred","identity","onExit","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","decideAssignmentsForShards","addAllNested","from","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","withSpan","captureStackTrace","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -4,8 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.addAllNested = exports.State = exports.RunnerWithMetadata = void 0;
|
7
|
-
exports.
|
8
|
-
exports.decideAssignmentsForUnbalancedShards = decideAssignmentsForUnbalancedShards;
|
7
|
+
exports.decideAssignmentsForShards = decideAssignmentsForShards;
|
9
8
|
var Arr = _interopRequireWildcard(require("effect/Array"));
|
10
9
|
var Clock = _interopRequireWildcard(require("effect/Clock"));
|
11
10
|
var Effect = _interopRequireWildcard(require("effect/Effect"));
|
@@ -229,20 +228,17 @@ class State {
|
|
229
228
|
/** @internal */
|
230
229
|
exports.State = State;
|
231
230
|
const RunnerWithMetadata = runner => runner;
|
232
|
-
/** @internal */
|
233
231
|
exports.RunnerWithMetadata = RunnerWithMetadata;
|
234
|
-
function decideAssignmentsForUnassignedShards(state, group) {
|
235
|
-
return pickNewRunners(state.unassignedShards(group), state, group, true, 1);
|
236
|
-
}
|
237
232
|
const allocationOrder = /*#__PURE__*/Order.combine(/*#__PURE__*/Order.mapInput(Order.number, ([, shards]) => shards), /*#__PURE__*/Order.mapInput(Order.number, ([,, registeredAt]) => registeredAt));
|
238
233
|
/** @internal */
|
239
|
-
function
|
234
|
+
function decideAssignmentsForShards(state, group) {
|
240
235
|
const shardsPerRunner = state.shardsPerRunner(group);
|
241
236
|
const maxVersion = state.maxVersion;
|
242
|
-
const
|
237
|
+
const shardsToRebalance = state.unassignedShards(group);
|
243
238
|
const runnerGroup = state.runners.get(group);
|
244
239
|
const shardsGroup = state.shards.get(group);
|
245
240
|
if (state.allRunnersHaveVersion(maxVersion)) {
|
241
|
+
const extraShardsToAllocate = Arr.empty();
|
246
242
|
const averageShardsPerRunner = state.averageShardsPerRunner(group);
|
247
243
|
MutableHashMap.forEach(shardsPerRunner, shards => {
|
248
244
|
// Count how many extra shards there are compared to the average
|
@@ -263,11 +259,14 @@ function decideAssignmentsForUnbalancedShards(state, group, rate) {
|
|
263
259
|
})]);
|
264
260
|
}
|
265
261
|
});
|
262
|
+
extraShardsToAllocate.sort(allocationOrder);
|
263
|
+
for (let i = 0; i < extraShardsToAllocate.length; i++) {
|
264
|
+
shardsToRebalance.push(extraShardsToAllocate[i][0]);
|
265
|
+
}
|
266
266
|
}
|
267
|
-
|
268
|
-
return pickNewRunners(sortedShardsToRebalance, state, group, false, rate, shardsPerRunner, maxVersion);
|
267
|
+
return pickNewRunners(shardsToRebalance, state, group, shardsPerRunner, maxVersion);
|
269
268
|
}
|
270
|
-
function pickNewRunners(shardsToRebalance, state, group,
|
269
|
+
function pickNewRunners(shardsToRebalance, state, group, shardsPerRunner = state.shardsPerRunner(group), maybeMaxVersion = state.maxVersion) {
|
271
270
|
const addressAssignments = MutableHashMap.empty();
|
272
271
|
const unassignments = MutableHashMap.empty();
|
273
272
|
const changes = MutableHashSet.empty();
|
@@ -289,12 +288,6 @@ function pickNewRunners(shardsToRebalance, state, group, immediate, rate, shards
|
|
289
288
|
if (runnerMeta.runner.version !== maxVersion) continue;
|
290
289
|
// Do not assign to a runner that has unassignments in the same rebalance
|
291
290
|
if (MutableHashMap.has(unassignments, address)) continue;
|
292
|
-
// Do not assign too many shards to each runner unless rebalancing must
|
293
|
-
// occur immediately
|
294
|
-
if (!immediate) {
|
295
|
-
const assignmentCount = Option.getOrUndefined(MutableHashMap.get(addressAssignments, address))?.size ?? 0;
|
296
|
-
if (assignmentCount >= shardsGroup.size * rate) continue;
|
297
|
-
}
|
298
291
|
if (candidate === undefined || shards.size < candidateShards.size) {
|
299
292
|
candidate = address;
|
300
293
|
candidateShards = shards;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shardManager.js","names":["Arr","_interopRequireWildcard","require","Clock","Effect","_Function","MutableHashMap","MutableHashSet","Option","Order","_RunnerHealth","_ShardId","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","ShardStorage","runnerHealth","RunnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","shardState","keys","shardId","ShardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","constFalse","shardStats","perRunner","unassigned","isNone","toString","count","shardsPerRunner","groupRunners","isEmpty","_","Set","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassignedShards","exports","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","runnerGroup","shardsGroup","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"shardManager.js","names":["Arr","_interopRequireWildcard","require","Clock","Effect","_Function","MutableHashMap","MutableHashSet","Option","Order","_RunnerHealth","_ShardId","_ShardStorage","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","ShardStorage","runnerHealth","RunnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","shardState","keys","shardId","ShardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","constFalse","shardStats","perRunner","unassigned","isNone","toString","count","shardsPerRunner","groupRunners","isEmpty","_","Set","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassignedShards","exports","allocationOrder","combine","mapInput","number","decideAssignmentsForShards","state","shardsToRebalance","runnerGroup","shardsGroup","extraShardsToAllocate","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sort","pickNewRunners","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","oldRunner","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -45,7 +45,7 @@ declare const ShardManager_base: Context.TagClass<ShardManager, "@effect/cluster
|
|
45
45
|
/**
|
46
46
|
* Rebalance shards assigned to runners within the cluster.
|
47
47
|
*/
|
48
|
-
readonly rebalance:
|
48
|
+
readonly rebalance: Effect.Effect<void>;
|
49
49
|
/**
|
50
50
|
* Notify the cluster of an unhealthy runner.
|
51
51
|
*/
|
@@ -427,7 +427,7 @@ export declare const make: Effect.Effect<{
|
|
427
427
|
/**
|
428
428
|
* Rebalance shards assigned to runners within the cluster.
|
429
429
|
*/
|
430
|
-
readonly rebalance:
|
430
|
+
readonly rebalance: Effect.Effect<void>;
|
431
431
|
/**
|
432
432
|
* Notify the cluster of an unhealthy runner.
|
433
433
|
*/
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ShardManager.d.ts","sourceRoot":"","sources":["../../src/ShardManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAA;AACtC,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,QAAQ,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAGlD,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAA;AAEnC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAKvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAKzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
1
|
+
{"version":3,"file":"ShardManager.d.ts","sourceRoot":"","sources":["../../src/ShardManager.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/ShardManager.js
CHANGED
@@ -31,7 +31,7 @@ import * as Schedule from "effect/Schedule";
|
|
31
31
|
import * as Schema from "effect/Schema";
|
32
32
|
import { RunnerNotRegistered } from "./ClusterError.js";
|
33
33
|
import * as ClusterMetrics from "./ClusterMetrics.js";
|
34
|
-
import { addAllNested,
|
34
|
+
import { addAllNested, decideAssignmentsForShards, State } from "./internal/shardManager.js";
|
35
35
|
import * as MachineId from "./MachineId.js";
|
36
36
|
import { Runner } from "./Runner.js";
|
37
37
|
import { RunnerAddress } from "./RunnerAddress.js";
|
@@ -54,7 +54,7 @@ export class Config extends /*#__PURE__*/Context.Tag("@effect/cluster/ShardManag
|
|
54
54
|
* @since 1.0.0
|
55
55
|
*/
|
56
56
|
static defaults = {
|
57
|
-
rebalanceDebounce: /*#__PURE__*/Duration.
|
57
|
+
rebalanceDebounce: /*#__PURE__*/Duration.seconds(3),
|
58
58
|
rebalanceInterval: /*#__PURE__*/Duration.seconds(20),
|
59
59
|
rebalanceRetryInterval: /*#__PURE__*/Duration.seconds(10),
|
60
60
|
rebalanceRate: 2 / 100,
|
@@ -292,10 +292,8 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
292
292
|
yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({
|
293
293
|
address: runner.address
|
294
294
|
}));
|
295
|
-
if (state.allUnassignedShards.length > 0) {
|
296
|
-
yield* rebalance(false);
|
297
|
-
}
|
298
295
|
yield* Effect.forkIn(persistRunners, scope);
|
296
|
+
yield* Effect.forkIn(rebalance, scope);
|
299
297
|
return MachineId.make(++machineId);
|
300
298
|
});
|
301
299
|
const unregister = Effect.fnUntraced(function* (address) {
|
@@ -316,42 +314,33 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
316
314
|
}));
|
317
315
|
}
|
318
316
|
yield* Effect.forkIn(persistRunners, scope);
|
319
|
-
yield* Effect.forkIn(rebalance
|
317
|
+
yield* Effect.forkIn(rebalance, scope);
|
320
318
|
});
|
321
319
|
let rebalancing = false;
|
322
|
-
let nextRebalanceImmediate = false;
|
323
320
|
let rebalanceDeferred;
|
324
321
|
const rebalanceFibers = yield* FiberSet.make();
|
325
|
-
const rebalance =
|
322
|
+
const rebalance = Effect.withFiberRuntime(fiber => {
|
326
323
|
if (!rebalancing) {
|
327
324
|
rebalancing = true;
|
328
|
-
return rebalanceLoop
|
329
|
-
}
|
330
|
-
if (immmediate) {
|
331
|
-
nextRebalanceImmediate = true;
|
325
|
+
return rebalanceLoop;
|
332
326
|
}
|
333
327
|
if (!rebalanceDeferred) {
|
334
328
|
rebalanceDeferred = Deferred.unsafeMake(fiber.id());
|
335
329
|
}
|
336
330
|
return Deferred.await(rebalanceDeferred);
|
337
331
|
});
|
338
|
-
const rebalanceLoop =
|
332
|
+
const rebalanceLoop = Effect.suspend(() => {
|
339
333
|
const deferred = rebalanceDeferred;
|
340
334
|
rebalanceDeferred = undefined;
|
341
|
-
|
342
|
-
immediate = nextRebalanceImmediate;
|
343
|
-
nextRebalanceImmediate = false;
|
344
|
-
}
|
345
|
-
return runRebalance(immediate).pipe(deferred ? Effect.intoDeferred(deferred) : identity, Effect.onExit(() => {
|
335
|
+
return runRebalance.pipe(deferred ? Effect.intoDeferred(deferred) : identity, Effect.onExit(() => {
|
346
336
|
if (!rebalanceDeferred) {
|
347
337
|
rebalancing = false;
|
348
338
|
return Effect.void;
|
349
339
|
}
|
350
|
-
return Effect.forkIn(rebalanceLoop
|
340
|
+
return Effect.forkIn(rebalanceLoop, scope);
|
351
341
|
}));
|
352
342
|
});
|
353
|
-
const runRebalance = Effect.
|
354
|
-
yield* Effect.annotateCurrentSpan("immmediate", immediate);
|
343
|
+
const runRebalance = Effect.gen(function* () {
|
355
344
|
yield* Effect.sleep(config.rebalanceDebounce);
|
356
345
|
if (state.shards.size === 0) {
|
357
346
|
yield* Effect.logDebug("No shards to rebalance");
|
@@ -362,7 +351,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
362
351
|
const unassignments = MutableHashMap.empty();
|
363
352
|
const changes = MutableHashSet.empty();
|
364
353
|
for (const group of state.shards.keys()) {
|
365
|
-
const [groupAssignments, groupUnassignments, groupChanges] =
|
354
|
+
const [groupAssignments, groupUnassignments, groupChanges] = decideAssignmentsForShards(state, group);
|
366
355
|
for (const [address, shards] of groupAssignments) {
|
367
356
|
addAllNested(assignments, address, Array.from(shards, id => makeShardId(group, id)));
|
368
357
|
}
|
@@ -373,7 +362,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
373
362
|
MutableHashSet.add(changes, address);
|
374
363
|
}
|
375
364
|
}
|
376
|
-
yield* Effect.logDebug(`Rebalancing shards
|
365
|
+
yield* Effect.logDebug(`Rebalancing shards`);
|
377
366
|
if (MutableHashSet.size(changes) === 0) return;
|
378
367
|
yield* Metric.increment(ClusterMetrics.rebalances);
|
379
368
|
// Ping runners first and remove unhealthy ones
|
@@ -438,22 +427,22 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
438
427
|
}).pipe(Effect.forkIn(scope));
|
439
428
|
yield* Effect.logWarning("Failed to rebalance runners: ", failedRunners);
|
440
429
|
}
|
441
|
-
if (wereFailures
|
430
|
+
if (wereFailures) {
|
442
431
|
// Try rebalancing again later if there were any failures
|
443
|
-
yield* Clock.sleep(config.rebalanceRetryInterval).pipe(Effect.zipRight(rebalance
|
432
|
+
yield* Clock.sleep(config.rebalanceRetryInterval).pipe(Effect.zipRight(rebalance), Effect.forkIn(scope));
|
444
433
|
}
|
445
434
|
yield* persistAssignments;
|
446
|
-
})
|
435
|
+
}).pipe(Effect.withSpan("ShardManager.rebalance", {
|
436
|
+
captureStackTrace: false
|
437
|
+
}));
|
447
438
|
const checkRunnerHealth = Effect.suspend(() => Effect.forEach(MutableHashMap.keys(state.allRunners), notifyUnhealthyRunner, {
|
448
439
|
concurrency: 10,
|
449
440
|
discard: true
|
450
441
|
}));
|
451
442
|
yield* Effect.addFinalizer(() => persistAssignments.pipe(Effect.catchAllCause(cause => Effect.logWarning("Failed to persist assignments on shutdown", cause)), Effect.zipRight(persistRunners.pipe(Effect.catchAllCause(cause => Effect.logWarning("Failed to persist runners on shutdown", cause))))));
|
452
443
|
yield* Effect.forkIn(persistRunners, scope);
|
453
|
-
// Rebalance immediately if there are unassigned shards
|
454
|
-
yield* Effect.forkIn(rebalance(state.allUnassignedShards.length > 0), scope);
|
455
444
|
// Start a regular cluster rebalance at the configured interval
|
456
|
-
yield* rebalance
|
445
|
+
yield* rebalance.pipe(Effect.andThen(Effect.sleep(config.rebalanceInterval)), Effect.forever, Effect.forkIn(scope));
|
457
446
|
yield* checkRunnerHealth.pipe(Effect.andThen(Effect.sleep(config.runnerHealthCheckInterval)), Effect.forever, Effect.forkIn(scope));
|
458
447
|
yield* Effect.gen(function* () {
|
459
448
|
const queue = yield* PubSub.subscribe(events);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ShardManager.js","names":["Rpc","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","identity","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","RunnerNotRegistered","ClusterMetrics","addAllNested","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","State","MachineId","Runner","RunnerAddress","RunnerHealth","RpcClientProtocol","Runners","make","makeShardId","ShardId","ShardingConfig","ShardStorage","ShardManager","Tag","Config","defaults","rebalanceDebounce","millis","rebalanceInterval","seconds","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","shards","Array","Rpcs","payload","runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","has","add","n","shardsPerGroup","set","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","shardManagerAddress","storage","runnersApi","runnerHealthApi","shardingConfig","state","orDie","fromStorage","scope","events","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","fnUntraced","increment","tagged","runnerHealthChecked","toString","isAlive","logWarning","updateShardsState","isSome","value","fail","addAssignments","logInfo","pretty","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","allUnassignedShards","length","rebalance","forkIn","unassignments","shard","equals","push","none","removeRunner","RunnerUnregistered","rebalancing","nextRebalanceImmediate","rebalanceDeferred","rebalanceFibers","immmediate","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","immediate","deferred","undefined","runRebalance","intoDeferred","onExit","fn","annotateCurrentSpan","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","from","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"ShardManager.js","names":["Rpc","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","identity","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","RunnerNotRegistered","ClusterMetrics","addAllNested","decideAssignmentsForShards","State","MachineId","Runner","RunnerAddress","RunnerHealth","RpcClientProtocol","Runners","make","makeShardId","ShardId","ShardingConfig","ShardStorage","ShardManager","Tag","Config","defaults","rebalanceDebounce","seconds","rebalanceInterval","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","shards","Array","Rpcs","payload","runner","success","Tuple","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","has","add","n","shardsPerGroup","set","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","Unregister","NotifyUnhealthyRunner","GetAssignments","ShardingEvents","asMailbox","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","shardManagerAddress","storage","runnersApi","runnerHealthApi","shardingConfig","state","orDie","fromStorage","scope","events","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","fnUntraced","increment","tagged","runnerHealthChecked","toString","isAlive","logWarning","updateShardsState","isSome","value","fail","addAssignments","logInfo","pretty","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","forkIn","rebalance","unassignments","shard","equals","push","none","removeRunner","length","RunnerUnregistered","rebalancing","rebalanceDeferred","rebalanceFibers","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","deferred","undefined","runRebalance","intoDeferred","onExit","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","from","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","withSpan","captureStackTrace","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","take","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","forkScoped","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -219,19 +219,16 @@ export class State {
|
|
219
219
|
}
|
220
220
|
/** @internal */
|
221
221
|
export const RunnerWithMetadata = runner => runner;
|
222
|
-
/** @internal */
|
223
|
-
export function decideAssignmentsForUnassignedShards(state, group) {
|
224
|
-
return pickNewRunners(state.unassignedShards(group), state, group, true, 1);
|
225
|
-
}
|
226
222
|
const allocationOrder = /*#__PURE__*/Order.combine(/*#__PURE__*/Order.mapInput(Order.number, ([, shards]) => shards), /*#__PURE__*/Order.mapInput(Order.number, ([,, registeredAt]) => registeredAt));
|
227
223
|
/** @internal */
|
228
|
-
export function
|
224
|
+
export function decideAssignmentsForShards(state, group) {
|
229
225
|
const shardsPerRunner = state.shardsPerRunner(group);
|
230
226
|
const maxVersion = state.maxVersion;
|
231
|
-
const
|
227
|
+
const shardsToRebalance = state.unassignedShards(group);
|
232
228
|
const runnerGroup = state.runners.get(group);
|
233
229
|
const shardsGroup = state.shards.get(group);
|
234
230
|
if (state.allRunnersHaveVersion(maxVersion)) {
|
231
|
+
const extraShardsToAllocate = Arr.empty();
|
235
232
|
const averageShardsPerRunner = state.averageShardsPerRunner(group);
|
236
233
|
MutableHashMap.forEach(shardsPerRunner, shards => {
|
237
234
|
// Count how many extra shards there are compared to the average
|
@@ -252,11 +249,14 @@ export function decideAssignmentsForUnbalancedShards(state, group, rate) {
|
|
252
249
|
})]);
|
253
250
|
}
|
254
251
|
});
|
252
|
+
extraShardsToAllocate.sort(allocationOrder);
|
253
|
+
for (let i = 0; i < extraShardsToAllocate.length; i++) {
|
254
|
+
shardsToRebalance.push(extraShardsToAllocate[i][0]);
|
255
|
+
}
|
255
256
|
}
|
256
|
-
|
257
|
-
return pickNewRunners(sortedShardsToRebalance, state, group, false, rate, shardsPerRunner, maxVersion);
|
257
|
+
return pickNewRunners(shardsToRebalance, state, group, shardsPerRunner, maxVersion);
|
258
258
|
}
|
259
|
-
function pickNewRunners(shardsToRebalance, state, group,
|
259
|
+
function pickNewRunners(shardsToRebalance, state, group, shardsPerRunner = state.shardsPerRunner(group), maybeMaxVersion = state.maxVersion) {
|
260
260
|
const addressAssignments = MutableHashMap.empty();
|
261
261
|
const unassignments = MutableHashMap.empty();
|
262
262
|
const changes = MutableHashSet.empty();
|
@@ -278,12 +278,6 @@ function pickNewRunners(shardsToRebalance, state, group, immediate, rate, shards
|
|
278
278
|
if (runnerMeta.runner.version !== maxVersion) continue;
|
279
279
|
// Do not assign to a runner that has unassignments in the same rebalance
|
280
280
|
if (MutableHashMap.has(unassignments, address)) continue;
|
281
|
-
// Do not assign too many shards to each runner unless rebalancing must
|
282
|
-
// occur immediately
|
283
|
-
if (!immediate) {
|
284
|
-
const assignmentCount = Option.getOrUndefined(MutableHashMap.get(addressAssignments, address))?.size ?? 0;
|
285
|
-
if (assignmentCount >= shardsGroup.size * rate) continue;
|
286
|
-
}
|
287
281
|
if (candidate === undefined || shards.size < candidateShards.size) {
|
288
282
|
candidate = address;
|
289
283
|
candidateShards = shards;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shardManager.js","names":["Arr","Clock","Effect","constFalse","MutableHashMap","MutableHashSet","Option","Order","RunnerHealth","ShardId","ShardStorage","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","runnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","set","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","has","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","get","shardState","keys","n","shardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","shardStats","perRunner","unassigned","isNone","toString","count","shardsPerRunner","groupRunners","isEmpty","_","Set","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassignedShards","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","runnerGroup","shardsGroup","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","i","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAGrC,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,YAAY,QAAQ,oBAAoB;AAEjD;AACA,OAAM,MAAOC,KAAK;EA6ELC,UAAA;EACAC,OAAA;EACAC,MAAA;EACAC,cAAA;EA/EX,OAAOC,WAAW,gBAAGd,MAAM,CAACe,UAAU,CAAC,WACrCF,cAAsB;IAEtB,MAAMG,OAAO,GAAG,OAAOR,YAAY;IACnC,MAAMS,YAAY,GAAG,OAAOX,YAAY;IAExC;IACA,MAAMY,aAAa,GAAG,OAAOF,OAAO,CAACG,UAAU;IAC/C,MAAMC,iBAAiB,GAAG,OAAOJ,OAAO,CAACK,cAAc;IAEvD;IACA,MAAMC,WAAW,GAAGxB,GAAG,CAACyB,KAAK,EAAU;IACvC,MAAMC,YAAY,GAAGtB,cAAc,CAACqB,KAAK,EAAyB;IAClE,OAAOvB,MAAM,CAACyB,OAAO,CAACP,aAAa,EAAE,CAAC,CAACQ,OAAO,EAAEC,MAAM,CAAC,KACrD3B,MAAM,CAAC4B,GAAG,CAACX,YAAY,CAACY,OAAO,CAACH,OAAO,CAAC,EAAGG,OAAO,IAAI;MACpD,IAAIA,OAAO,EAAE;QACX3B,cAAc,CAAC4B,GAAG,CAACN,YAAY,EAAEE,OAAO,EAAEC,MAAM,CAAC;MACnD,CAAC,MAAM;QACLL,WAAW,CAACS,IAAI,CAACJ,MAAM,CAAC;MAC1B;IACF,CAAC,CAAC,EAAE;MAAEK,WAAW,EAAE,WAAW;MAAEC,OAAO,EAAE;IAAI,CAAE,CAAC;IAClD,IAAIX,WAAW,CAACY,MAAM,GAAG,CAAC,EAAE;MAC1B,OAAOlC,MAAM,CAACmC,UAAU,CAAC,uDAAuD,EAAEb,WAAW,CAAC;IAChG;IAEA;IACA,MAAMc,cAAc,GAAGlC,cAAc,CAACqB,KAAK,EAA0B;IACrE,MAAMc,kBAAkB,GAAGvC,GAAG,CAACyB,KAAK,EAA4B;IAChE,KAAK,MAAM,CAACe,KAAK,EAAEZ,OAAO,CAAC,IAAIN,iBAAiB,EAAE;MAChD,IAAIhB,MAAM,CAACmC,MAAM,CAACb,OAAO,CAAC,IAAIxB,cAAc,CAACsC,GAAG,CAAChB,YAAY,EAAEE,OAAO,CAACe,KAAK,CAAC,EAAE;QAC7EvC,cAAc,CAAC4B,GAAG,CAACM,cAAc,EAAEE,KAAK,EAAEZ,OAAO,CAACe,KAAK,CAAC;MAC1D,CAAC,MAAM,IAAIrC,MAAM,CAACmC,MAAM,CAACb,OAAO,CAAC,EAAE;QACjCW,kBAAkB,CAACN,IAAI,CAAC,CAACO,KAAK,EAAEZ,OAAO,CAACe,KAAK,CAAC,CAAC;MACjD;IACF;IACA,IAAIJ,kBAAkB,CAACH,MAAM,GAAG,CAAC,EAAE;MACjC,OAAOlC,MAAM,CAACmC,UAAU,CACtB,8EAA8E,EAC9EE,kBAAkB,CACnB;IACH;IAEA;IACA,MAAMK,GAAG,GAAG,OAAO3C,KAAK,CAAC4C,iBAAiB;IAC1C,MAAMjC,UAAU,GAAGR,cAAc,CAACqB,KAAK,EAAqC;IAC5E,MAAMqB,WAAW,GAAG,IAAIC,GAAG,EAA4E;IACvG;IACA;IACA;IACA,KAAK,MAAM,CAACnB,OAAO,EAAEC,MAAM,CAAC,IAAIH,YAAY,EAAE;MAC5C,MAAMsB,YAAY,GAAGC,kBAAkB,CAAC;QAAEpB,MAAM;QAAEqB,YAAY,EAAEN;MAAG,CAAE,CAAC;MACtExC,cAAc,CAAC4B,GAAG,CAACpB,UAAU,EAAEgB,OAAO,EAAEoB,YAAY,CAAC;MACrD,KAAK,MAAMG,KAAK,IAAItB,MAAM,CAACuB,MAAM,EAAE;QACjC,IAAIC,QAAQ,GAAGP,WAAW,CAACQ,GAAG,CAACH,KAAK,CAAC;QACrC,IAAI,CAACE,QAAQ,EAAE;UACbA,QAAQ,GAAGjD,cAAc,CAACqB,KAAK,EAAqC;UACpEqB,WAAW,CAACd,GAAG,CAACmB,KAAK,EAAEE,QAAQ,CAAC;QAClC;QACAjD,cAAc,CAAC4B,GAAG,CAACqB,QAAQ,EAAEzB,OAAO,EAAEoB,YAAY,CAAC;MACrD;IACF;IAEA,MAAMO,UAAU,GAAG,IAAIR,GAAG,EAAqD;IAC/E,KAAK,MAAMI,KAAK,IAAIL,WAAW,CAACU,IAAI,EAAE,EAAE;MACtC,MAAMH,QAAQ,GAAG,IAAIN,GAAG,EAAwC;MAChEQ,UAAU,CAACvB,GAAG,CAACmB,KAAK,EAAEE,QAAQ,CAAC;MAC/B,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI1C,cAAc,EAAE0C,CAAC,EAAE,EAAE;QACxC,MAAMC,OAAO,GAAG,IAAIjD,OAAO,CAAC;UAAE0C,KAAK;UAAEQ,EAAE,EAAEF;QAAC,CAAE,CAAC;QAC7CJ,QAAQ,CAACrB,GAAG,CAACyB,CAAC,EAAErD,cAAc,CAACkD,GAAG,CAAChB,cAAc,EAAEoB,OAAO,CAAC,CAAC;MAC9D;IACF;IAEA,OAAO,IAAI/C,KAAK,CAACC,UAAU,EAAEkC,WAAW,EAAES,UAAU,EAAExC,cAAc,CAAC;EACvE,CAAC,CAAC;EAEF6C,YACWhD,UAA4E,EAC5EC,OAAsF,EACtFC,MAA8D,EAC9DC,cAAsB;IAHtB,KAAAH,UAAU,GAAVA,UAAU;IACV,KAAAC,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;IACN,KAAAC,cAAc,GAAdA,cAAc;IAEvB,IAAI,CAAC8C,WAAW,GAAGzD,cAAc,CAACqB,KAAK,EAAyC;IAChF,KAAK,MAAM,CAAC0B,KAAK,EAAEE,QAAQ,CAAC,IAAI,IAAI,CAACvC,MAAM,EAAE;MAC3C,KAAK,MAAM,CAAC6C,EAAE,EAAE/B,OAAO,CAAC,IAAIyB,QAAQ,EAAE;QACpCjD,cAAc,CAAC4B,GAAG,CAAC,IAAI,CAAC6B,WAAW,EAAE,IAAIpD,OAAO,CAAC;UAAE0C,KAAK;UAAEQ;QAAE,CAAE,CAAC,EAAE/B,OAAO,CAAC;MAC3E;IACF;EACF;EAESiC,WAAW;EAEpBC,QAAQA,CAACX,KAAa;IACpB,IAAI,CAACtC,OAAO,CAACmB,GAAG,CAACmB,KAAK,EAAE/C,cAAc,CAACqB,KAAK,EAAqC,CAAC;IAClF,MAAMsC,QAAQ,GAAG,IAAIhB,GAAG,EAAwC;IAChE,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,IAAI,CAAC1C,cAAc,EAAE0C,CAAC,EAAE,EAAE;MAC7CM,QAAQ,CAAC/B,GAAG,CAACyB,CAAC,EAAEnD,MAAM,CAAC0D,IAAI,EAAE,CAAC;MAC9B5D,cAAc,CAAC4B,GAAG,CAAC,IAAI,CAAC6B,WAAW,EAAE,IAAIpD,OAAO,CAAC;QAAE0C,KAAK;QAAEQ,EAAE,EAAEF;MAAC,CAAE,CAAC,EAAEnD,MAAM,CAAC0D,IAAI,EAAE,CAAC;IACpF;IACA,IAAI,CAAClD,MAAM,CAACkB,GAAG,CAACmB,KAAK,EAAEY,QAAQ,CAAC;EAClC;EAEAE,cAAcA,CACZnD,MAAyB,EACzBc,OAAqC;IAErC,KAAK,MAAM8B,OAAO,IAAI5C,MAAM,EAAE;MAC5BV,cAAc,CAAC4B,GAAG,CAAC,IAAI,CAAC6B,WAAW,EAAEH,OAAO,EAAE9B,OAAO,CAAC;MACtD,IAAI,CAACd,MAAM,CAACwC,GAAG,CAACI,OAAO,CAACP,KAAK,CAAC,EAAEnB,GAAG,CAAC0B,OAAO,CAACC,EAAE,EAAE/B,OAAO,CAAC;IAC1D;EACF;EAEAsC,SAASA,CAACrC,MAAc,EAAEqB,YAAoB;IAC5C,MAAMF,YAAY,GAAGC,kBAAkB,CAAC;MAAEpB,MAAM;MAAEqB;IAAY,CAAE,CAAC;IACjE9C,cAAc,CAAC4B,GAAG,CAAC,IAAI,CAACpB,UAAU,EAAEiB,MAAM,CAACD,OAAO,EAAEoB,YAAY,CAAC;IACjE,KAAK,MAAMG,KAAK,IAAItB,MAAM,CAACuB,MAAM,EAAE;MACjC,IAAI,CAAC,IAAI,CAACvC,OAAO,CAAC6B,GAAG,CAACS,KAAK,CAAC,EAAE;QAC5B,IAAI,CAACW,QAAQ,CAACX,KAAK,CAAC;MACtB;MACA,MAAME,QAAQ,GAAG,IAAI,CAACxC,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAE;MACzC/C,cAAc,CAAC4B,GAAG,CAACqB,QAAQ,EAAExB,MAAM,CAACD,OAAO,EAAEoB,YAAY,CAAC;IAC5D;EACF;EAEAmB,YAAYA,CAACvC,OAAsB;IACjCxB,cAAc,CAACgE,MAAM,CAAC,IAAI,CAACxD,UAAU,EAAEgB,OAAO,CAAC;IAC/C,KAAK,MAAMyB,QAAQ,IAAI,IAAI,CAACxC,OAAO,CAACwD,MAAM,EAAE,EAAE;MAC5CjE,cAAc,CAACgE,MAAM,CAACf,QAAQ,EAAEzB,OAAO,CAAC;IAC1C;EACF;EAEA,IAAI0C,UAAUA,CAAA;IACZ,IAAIlE,cAAc,CAACmE,IAAI,CAAC,IAAI,CAAC3D,UAAU,CAAC,KAAK,CAAC,EAAE,OAAON,MAAM,CAAC0D,IAAI,EAAE;IACpE,IAAIQ,OAAO,GAAuBC,SAAS;IAC3C,KAAK,MAAM,GAAGC,IAAI,CAAC,IAAI,IAAI,CAAC9D,UAAU,EAAE;MACtC,IAAI4D,OAAO,KAAKC,SAAS,IAAIC,IAAI,CAAC7C,MAAM,CAAC2C,OAAO,GAAGA,OAAO,EAAE;QAC1DA,OAAO,GAAGE,IAAI,CAAC7C,MAAM,CAAC2C,OAAO;MAC/B;IACF;IACA,OAAOlE,MAAM,CAACqE,IAAI,CAACH,OAAQ,CAAC;EAC9B;EAEAI,qBAAqBA,CAACJ,OAA8B;IAClD,OAAOA,OAAO,CAACK,IAAI,CACjBvE,MAAM,CAACwB,GAAG,CAAEgD,GAAG,IAAK9E,GAAG,CAAC+E,KAAK,CAAC,IAAI,CAACC,cAAc,EAAGR,OAAO,IAAKA,OAAO,KAAKM,GAAG,CAAC,CAAC,EACjFxE,MAAM,CAAC2E,SAAS,CAAC9E,UAAU,CAAC,CAC7B;EACH;EAEA,IAAI+E,UAAUA,CAAA;IAIZ,MAAMC,SAAS,GAAG,IAAIpC,GAAG,EAAkB;IAC3C,IAAIqC,UAAU,GAAG,CAAC;IAClB,KAAK,MAAM,GAAGxD,OAAO,CAAC,IAAI,IAAI,CAACiC,WAAW,EAAE;MAC1C,IAAIvD,MAAM,CAAC+E,MAAM,CAACzD,OAAO,CAAC,EAAE;QAC1BwD,UAAU,EAAE;QACZ;MACF;MACA,MAAMvD,MAAM,GAAGD,OAAO,CAACe,KAAK,CAAC2C,QAAQ,EAAE;MACvC,MAAMC,KAAK,GAAGJ,SAAS,CAAC7B,GAAG,CAACzB,MAAM,CAAC,IAAI,CAAC;MACxCsD,SAAS,CAACnD,GAAG,CAACH,MAAM,EAAE0D,KAAK,GAAG,CAAC,CAAC;IAClC;IAEA,OAAO;MAAEJ,SAAS;MAAEC;IAAU,CAAE;EAClC;EAEAI,eAAeA,CAACrC,KAAa;IAC3B,MAAMsC,YAAY,GAAG,IAAI,CAAC5E,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAC;IAC5C,MAAMrC,MAAM,GAAGV,cAAc,CAACqB,KAAK,EAA8B;IAEjE,IAAI,CAACgE,YAAY,IAAIrF,cAAc,CAACsF,OAAO,CAACD,YAAY,CAAC,EAAE,OAAO3E,MAAM;IACxEV,cAAc,CAACuB,OAAO,CAAC8D,YAAY,EAAE,CAACE,CAAC,EAAE/D,OAAO,KAAI;MAClDxB,cAAc,CAAC4B,GAAG,CAAClB,MAAM,EAAEc,OAAO,EAAE,IAAIgE,GAAG,EAAE,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM/B,WAAW,GAAG,IAAI,CAAC/C,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;IAC3C,KAAK,MAAM,CAACQ,EAAE,EAAE/B,OAAO,CAAC,IAAIiC,WAAW,EAAE;MACvC,IAAIvD,MAAM,CAAC+E,MAAM,CAACzD,OAAO,CAAC,EAAE;MAC5B,MAAMiE,QAAQ,GAAGvF,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACkD,GAAG,CAACxC,MAAM,EAAEc,OAAO,CAACe,KAAK,CAAC,CAAE;MAClFkD,QAAQ,CAACE,GAAG,CAACpC,EAAE,CAAC;IAClB;IAEA,OAAO7C,MAAM;EACf;EAEAkF,sBAAsBA,CAAC7C,KAAa;IAClC,MAAM8C,WAAW,GAAG7F,cAAc,CAACmE,IAAI,CAAC,IAAI,CAAC1D,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAC,IAAI/C,cAAc,CAACqB,KAAK,EAAE,CAAC;IAC1F,MAAMyE,UAAU,GAAG,IAAI,CAACpF,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAC,IAAI,IAAIJ,GAAG,EAAE;IACtD,OAAOkD,WAAW,GAAG,CAAC,GAAGC,UAAU,CAAC3B,IAAI,GAAG0B,WAAW,GAAG,CAAC;EAC5D;EAEA,IAAIE,mBAAmBA,CAAA;IACrB,MAAMf,UAAU,GAAmB,EAAE;IACrC,KAAK,MAAM,CAAC1B,OAAO,EAAE9B,OAAO,CAAC,IAAI,IAAI,CAACiC,WAAW,EAAE;MACjD,IAAIvD,MAAM,CAAC+E,MAAM,CAACzD,OAAO,CAAC,EAAE;QAC1BwD,UAAU,CAACnD,IAAI,CAACyB,OAAO,CAAC;MAC1B;IACF;IACA,OAAO0B,UAAU;EACnB;EAEAgB,gBAAgBA,CAACjD,KAAa;IAC5B,MAAM0C,QAAQ,GAAkB,EAAE;IAClC,MAAMhC,WAAW,GAAG,IAAI,CAAC/C,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;IAC3C,KAAK,MAAM,CAACX,KAAK,EAAEZ,OAAO,CAAC,IAAIiC,WAAW,EAAE;MAC1C,IAAIvD,MAAM,CAAC+E,MAAM,CAACzD,OAAO,CAAC,EAAE;QAC1BiE,QAAQ,CAAC5D,IAAI,CAACO,KAAK,CAAC;MACtB;IACF;IACA,OAAOqD,QAAQ;EACjB;EAEA,IAAYb,cAAcA,CAAA;IACxB,MAAMA,cAAc,GAAkB,EAAE;IACxC,KAAK,MAAM,GAAGN,IAAI,CAAC,IAAI,IAAI,CAAC9D,UAAU,EAAE;MACtCoE,cAAc,CAAC/C,IAAI,CAACyC,IAAI,CAAC7C,MAAM,CAAC2C,OAAO,CAAC;IAC1C;IACA,OAAOQ,cAAc;EACvB;;AAQF;AACA,OAAO,MAAM/B,kBAAkB,GAAIpB,MAA0B,IAAyBA,MAAM;AAE5F;AACA,OAAM,SAAUwE,oCAAoCA,CAACC,KAAY,EAAEnD,KAAa;EAK9E,OAAOoD,cAAc,CAACD,KAAK,CAACF,gBAAgB,CAACjD,KAAK,CAAC,EAAEmD,KAAK,EAAEnD,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E;AAEA,MAAMqD,eAAe,gBAA0CjG,KAAK,CAACkG,OAAO,cAC1ElG,KAAK,CAACmG,QAAQ,CAACnG,KAAK,CAACoG,MAAM,EAAE,CAAC,GAAG7F,MAAM,CAAC,KAAKA,MAAM,CAAC,eACpDP,KAAK,CAACmG,QAAQ,CAACnG,KAAK,CAACoG,MAAM,EAAE,CAAC,IAAKzD,YAAY,CAAC,KAAKA,YAAY,CAAC,CACnE;AAED;AACA,OAAM,SAAU0D,oCAAoCA,CAACN,KAAY,EAAEnD,KAAa,EAAE0D,IAAY;EAK5F,MAAMrB,eAAe,GAAGc,KAAK,CAACd,eAAe,CAACrC,KAAK,CAAC;EACpD,MAAMmB,UAAU,GAAGgC,KAAK,CAAChC,UAAU;EACnC,MAAMwC,qBAAqB,GAAG9G,GAAG,CAACyB,KAAK,EAAyD;EAEhG,MAAMsF,WAAW,GAAGT,KAAK,CAACzF,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAE;EAC7C,MAAM6D,WAAW,GAAGV,KAAK,CAACxF,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;EAE5C,IAAImD,KAAK,CAAC1B,qBAAqB,CAACN,UAAU,CAAC,EAAE;IAC3C,MAAM0B,sBAAsB,GAAGM,KAAK,CAACN,sBAAsB,CAAC7C,KAAK,CAAC;IAClE/C,cAAc,CAACuB,OAAO,CAAC6D,eAAe,EAAG1E,MAAM,IAAI;MACjD;MACA,MAAMmG,WAAW,GAAGC,IAAI,CAACpC,GAAG,CAAC,CAAC,EAAEhE,MAAM,CAACyD,IAAI,GAAGyB,sBAAsB,CAAC;MACrE,KAAK,MAAMxD,KAAK,IAAI2E,UAAU,CAACrG,MAAM,EAAEmG,WAAW,CAAC,EAAE;QACnD,MAAMG,YAAY,GAAGJ,WAAW,CAAC1D,GAAG,CAACd,KAAK,CAAC,IAAIlC,MAAM,CAAC0D,IAAI,EAAE;QAC5D,IAAI1D,MAAM,CAAC+E,MAAM,CAAC+B,YAAY,CAAC,EAAE;UAC/BN,qBAAqB,CAAC7E,IAAI,CAAC,CAACO,KAAK,EAAE6E,MAAM,CAACC,gBAAgB,EAAED,MAAM,CAACC,gBAAgB,CAAC,CAAC;UACrF;QACF;QACA,MAAM1F,OAAO,GAAGwF,YAAY,CAACzE,KAAK;QAClCmE,qBAAqB,CAAC7E,IAAI,CAAC,CACzBO,KAAK,EACLlC,MAAM,CAACiH,KAAK,CAACnH,cAAc,CAACkD,GAAG,CAACkC,eAAe,EAAE5D,OAAO,CAAC,EAAE;UACzD4F,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAG3G,MAAM,IAAK,CAACA,MAAM,CAACyD;SAC7B,CAAC,EACFjE,MAAM,CAACiH,KAAK,CAACnH,cAAc,CAACkD,GAAG,CAACyD,WAAW,EAAEnF,OAAO,CAAC,EAAE;UACrD4F,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAG/C,IAAI,IAAKA,IAAI,CAACxB;SACxB,CAAC,CACH,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,MAAMwE,uBAAuB,GAAGZ,qBAAqB,CAACa,IAAI,CAACnB,eAAe,CAAC,CAAC1E,GAAG,CAAC,CAAC,CAACU,KAAK,CAAC,KAAKA,KAAK,CAAC;EAEnG,OAAO+D,cAAc,CAACmB,uBAAuB,EAAEpB,KAAK,EAAEnD,KAAK,EAAE,KAAK,EAAE0D,IAAI,EAAErB,eAAe,EAAElB,UAAU,CAAC;AACxG;AAEA,SAASiC,cAAcA,CACrBqB,iBAAwC,EACxCtB,KAAY,EACZnD,KAAa,EACb0E,SAAkB,EAClBhB,IAAY,EACZrB,eAAe,GAAGc,KAAK,CAACd,eAAe,CAACrC,KAAK,CAAC,EAC9C2E,eAAe,GAAGxB,KAAK,CAAChC,UAAU;EAMlC,MAAMyD,kBAAkB,GAAG3H,cAAc,CAACqB,KAAK,EAA8B;EAC7E,MAAMuG,aAAa,GAAG5H,cAAc,CAACqB,KAAK,EAA8B;EACxE,MAAMwG,OAAO,GAAG5H,cAAc,CAACoB,KAAK,EAAiB;EAErD,IAAInB,MAAM,CAAC+E,MAAM,CAACyC,eAAe,CAAC,EAAE;IAClC,OAAO,CAACC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;EACrD;EACA,MAAM3D,UAAU,GAAGwD,eAAe,CAACnF,KAAK;EAExC,MAAMoE,WAAW,GAAGT,KAAK,CAACzF,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAE;EAC7C,MAAM6D,WAAW,GAAGV,KAAK,CAACxF,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;EAE5C,KAAK,MAAMO,OAAO,IAAIkE,iBAAiB,EAAE;IACvC;IACA,IAAIM,SAAoC;IACxC,IAAIC,eAAwC;IAE5C,KAAK,MAAM,CAACvG,OAAO,EAAEd,MAAM,CAAC,IAAI0E,eAAe,EAAE;MAC/C;MACA,MAAM4C,eAAe,GAAGhI,cAAc,CAACkD,GAAG,CAACyD,WAAW,EAAEnF,OAAO,CAAC;MAChE,IAAItB,MAAM,CAAC+E,MAAM,CAAC+C,eAAe,CAAC,EAAE;MACpC,MAAMC,UAAU,GAAGD,eAAe,CAACzF,KAAK;MACxC,IAAI0F,UAAU,CAACxG,MAAM,CAAC2C,OAAO,KAAKF,UAAU,EAAE;MAE9C;MACA,IAAIlE,cAAc,CAACsC,GAAG,CAACsF,aAAa,EAAEpG,OAAO,CAAC,EAAE;MAEhD;MACA;MACA,IAAI,CAACiG,SAAS,EAAE;QACd,MAAMS,eAAe,GAAGhI,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACkD,GAAG,CAACyE,kBAAkB,EAAEnG,OAAO,CAAC,CAAC,EAAE2C,IAAI,IAAI,CAAC;QACzG,IAAI+D,eAAe,IAAItB,WAAW,CAACzC,IAAI,GAAGsC,IAAI,EAAE;MAClD;MAEA,IAAIqB,SAAS,KAAKzD,SAAS,IAAI3D,MAAM,CAACyD,IAAI,GAAG4D,eAAgB,CAAC5D,IAAI,EAAE;QAClE2D,SAAS,GAAGtG,OAAO;QACnBuG,eAAe,GAAGrH,MAAM;MAC1B;IACF;IACA,IAAI,CAACoH,SAAS,IAAI,CAACC,eAAe,EAAE;IAEpC;IACA,MAAMI,SAAS,GAAGjI,MAAM,CAACwF,cAAc,CAACkB,WAAW,CAAC1D,GAAG,CAACI,OAAO,CAAC,IAAIpD,MAAM,CAAC0D,IAAI,EAAE,CAAC;IAClF,IAAIuE,SAAS,IAAIA,SAAS,CAACjD,QAAQ,EAAE,KAAK4C,SAAS,CAAC5C,QAAQ,EAAE,EAAE;MAC9D;IACF;IACA,MAAMkD,SAAS,GAAGD,SAAS,IAAIjI,MAAM,CAACwF,cAAc,CAAC1F,cAAc,CAACkD,GAAG,CAACkC,eAAe,EAAE+C,SAAS,CAAC,CAAC;IAEpG;IACA;IACA,IAAIC,SAAS,IAAIL,eAAe,CAAC5D,IAAI,GAAG,CAAC,IAAIiE,SAAS,CAACjE,IAAI,EAAE;IAE7D;IACAnE,cAAc,CAACqI,QAAQ,CACrBV,kBAAkB,EAClBG,SAAS,EACT5H,MAAM,CAACiH,KAAK,CAAC;MACXC,MAAM,EAAEA,CAAA,KAAMlH,MAAM,CAACqE,IAAI,CAAC,IAAIiB,GAAG,CAAC,CAAClC,OAAO,CAAC,CAAC,CAAC;MAC7C+D,MAAM,EAAG3G,MAAM,IAAI;QACjBA,MAAM,CAACiF,GAAG,CAACrC,OAAO,CAAC;QACnB,OAAOpD,MAAM,CAACqE,IAAI,CAAC7D,MAAM,CAAC;MAC5B;KACD,CAAC,CACH;IACD,IAAIyH,SAAS,EAAE;MACbnI,cAAc,CAACqI,QAAQ,CACrBT,aAAa,EACbO,SAAS,EACTjI,MAAM,CAACiH,KAAK,CAAC;QACXC,MAAM,EAAEA,CAAA,KAAMlH,MAAM,CAACqE,IAAI,CAAC,IAAIiB,GAAG,CAAC,CAAClC,OAAO,CAAC,CAAC,CAAC;QAC7C+D,MAAM,EAAG3G,MAAM,IAAI;UACjBA,MAAM,CAACiF,GAAG,CAACrC,OAAO,CAAC;UACnB,OAAOpD,MAAM,CAACqE,IAAI,CAAC7D,MAAM,CAAC;QAC5B;OACD,CAAC,CACH;IACH;IAEA;IACAqH,eAAe,CAACpC,GAAG,CAACrC,OAAO,CAAC;IAC5B,IAAI8E,SAAS,EAAE;MACbA,SAAS,CAACE,MAAM,CAAChF,OAAO,CAAC;IAC3B;IAEA;IACArD,cAAc,CAAC0F,GAAG,CAACkC,OAAO,EAAEC,SAAS,CAAC;IACtC,IAAIK,SAAS,EAAElI,cAAc,CAAC0F,GAAG,CAACkC,OAAO,EAAEM,SAAS,CAAC;EACvD;EAEA,OAAO,CAACR,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;AACrD;AAEA,SAASd,UAAUA,CAAIwB,IAAiB,EAAElF,CAAS;EACjD,MAAMmF,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACH,IAAI,CAAC;EAC9B,IAAII,YAAY,GAAGH,KAAK,CAACxG,MAAM;EAC/B,OAAO2G,YAAY,IAAI,CAAC,EAAE;IACxB,MAAMC,WAAW,GAAG9B,IAAI,CAAC+B,KAAK,CAAC/B,IAAI,CAACgC,MAAM,EAAE,GAAGH,YAAY,CAAC;IAC5DA,YAAY,GAAGA,YAAY,GAAG,CAAC;IAC/BI,IAAI,CAACP,KAAK,EAAEG,YAAY,EAAEC,WAAW,CAAC;EACxC;EACA,OAAOvF,CAAC,GAAGmF,KAAK,CAACxG,MAAM,GAAGwG,KAAK,CAACQ,KAAK,CAAC,CAAC,EAAE3F,CAAC,CAAC,GAAGmF,KAAK;AACrD;AAEA,SAASO,IAAIA,CAAIP,KAAe,EAAES,CAAS,EAAEC,CAAS;EACpD,MAAMC,GAAG,GAAGX,KAAK,CAACS,CAAC,CAAC;EACpBT,KAAK,CAACS,CAAC,CAAC,GAAGT,KAAK,CAACU,CAAC,CAAC;EACnBV,KAAK,CAACU,CAAC,CAAC,GAAGC,GAAG;EACd,OAAOX,KAAK;AACd;AAEA;AACA,OAAO,MAAMY,YAAY,GAAGA,CAC1Bb,IAAwE,EACxEc,GAAM,EACNpF,MAAmB,KACjB;EACF,MAAMqF,IAAI,GAAGtJ,cAAc,CAACkD,GAAG,CAACqF,IAAI,EAAEc,GAAG,CAAC;EAC1C,IAAInJ,MAAM,CAACmC,MAAM,CAACiH,IAAI,CAAC,EAAE;IACvB,KAAK,MAAM/G,KAAK,IAAI0B,MAAM,EAAE;MAC1BhE,cAAc,CAAC0F,GAAG,CAAC2D,IAAI,CAAC/G,KAAK,EAAEA,KAAK,CAAC;IACvC;EACF,CAAC,MAAM;IACLvC,cAAc,CAAC4B,GAAG,CAAC2G,IAAI,EAAEc,GAAG,EAAEpJ,cAAc,CAACsJ,YAAY,CAACtF,MAAM,CAAC,CAAC;EACpE;AACF,CAAC","ignoreList":[]}
|
1
|
+
{"version":3,"file":"shardManager.js","names":["Arr","Clock","Effect","constFalse","MutableHashMap","MutableHashSet","Option","Order","RunnerHealth","ShardId","ShardStorage","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","runnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","set","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","has","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","get","shardState","keys","n","shardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","shardStats","perRunner","unassigned","isNone","toString","count","shardsPerRunner","groupRunners","isEmpty","_","Set","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassignedShards","allocationOrder","combine","mapInput","number","decideAssignmentsForShards","state","shardsToRebalance","runnerGroup","shardsGroup","extraShardsToAllocate","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sort","i","pickNewRunners","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","oldRunner","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@effect/cluster",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.39.0",
|
4
4
|
"description": "Unified interfaces for common cluster-specific services",
|
5
5
|
"license": "MIT",
|
6
6
|
"repository": {
|
@@ -11,10 +11,10 @@
|
|
11
11
|
"sideEffects": [],
|
12
12
|
"homepage": "https://effect.website",
|
13
13
|
"peerDependencies": {
|
14
|
-
"@effect/platform": "^0.
|
15
|
-
"@effect/rpc": "^0.
|
16
|
-
"@effect/sql": "^0.
|
17
|
-
"@effect/workflow": "^0.
|
14
|
+
"@effect/platform": "^0.85.0",
|
15
|
+
"@effect/rpc": "^0.62.0",
|
16
|
+
"@effect/sql": "^0.38.0",
|
17
|
+
"@effect/workflow": "^0.2.0",
|
18
18
|
"effect": "^3.16.7"
|
19
19
|
},
|
20
20
|
"publishConfig": {
|
package/src/ShardManager.ts
CHANGED
@@ -33,12 +33,7 @@ import * as Schema from "effect/Schema"
|
|
33
33
|
import type { Scope } from "effect/Scope"
|
34
34
|
import { RunnerNotRegistered } from "./ClusterError.js"
|
35
35
|
import * as ClusterMetrics from "./ClusterMetrics.js"
|
36
|
-
import {
|
37
|
-
addAllNested,
|
38
|
-
decideAssignmentsForUnassignedShards,
|
39
|
-
decideAssignmentsForUnbalancedShards,
|
40
|
-
State
|
41
|
-
} from "./internal/shardManager.js"
|
36
|
+
import { addAllNested, decideAssignmentsForShards, State } from "./internal/shardManager.js"
|
42
37
|
import * as MachineId from "./MachineId.js"
|
43
38
|
import { Runner } from "./Runner.js"
|
44
39
|
import { RunnerAddress } from "./RunnerAddress.js"
|
@@ -74,7 +69,7 @@ export class ShardManager extends Context.Tag("@effect/cluster/ShardManager")<Sh
|
|
74
69
|
/**
|
75
70
|
* Rebalance shards assigned to runners within the cluster.
|
76
71
|
*/
|
77
|
-
readonly rebalance:
|
72
|
+
readonly rebalance: Effect.Effect<void>
|
78
73
|
/**
|
79
74
|
* Notify the cluster of an unhealthy runner.
|
80
75
|
*/
|
@@ -130,7 +125,7 @@ export class Config extends Context.Tag("@effect/cluster/ShardManager/Config")<C
|
|
130
125
|
* @since 1.0.0
|
131
126
|
*/
|
132
127
|
static readonly defaults: Config["Type"] = {
|
133
|
-
rebalanceDebounce: Duration.
|
128
|
+
rebalanceDebounce: Duration.seconds(3),
|
134
129
|
rebalanceInterval: Duration.seconds(20),
|
135
130
|
rebalanceRetryInterval: Duration.seconds(10),
|
136
131
|
rebalanceRate: 2 / 100,
|
@@ -505,11 +500,8 @@ export const make = Effect.gen(function*() {
|
|
505
500
|
state.addRunner(runner, clock.unsafeCurrentTimeMillis())
|
506
501
|
updateRunnerMetrics()
|
507
502
|
yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({ address: runner.address }))
|
508
|
-
|
509
|
-
if (state.allUnassignedShards.length > 0) {
|
510
|
-
yield* rebalance(false)
|
511
|
-
}
|
512
503
|
yield* Effect.forkIn(persistRunners, scope)
|
504
|
+
yield* Effect.forkIn(rebalance, scope)
|
513
505
|
return MachineId.make(++machineId)
|
514
506
|
})
|
515
507
|
|
@@ -532,52 +524,40 @@ export const make = Effect.gen(function*() {
|
|
532
524
|
}
|
533
525
|
|
534
526
|
yield* Effect.forkIn(persistRunners, scope)
|
535
|
-
yield* Effect.forkIn(rebalance
|
527
|
+
yield* Effect.forkIn(rebalance, scope)
|
536
528
|
})
|
537
529
|
|
538
530
|
let rebalancing = false
|
539
|
-
let nextRebalanceImmediate = false
|
540
531
|
let rebalanceDeferred: Deferred.Deferred<void> | undefined
|
541
532
|
const rebalanceFibers = yield* FiberSet.make()
|
542
533
|
|
543
|
-
const rebalance =
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
rebalanceDeferred = Deferred.unsafeMake(fiber.id())
|
554
|
-
}
|
555
|
-
return Deferred.await(rebalanceDeferred)
|
556
|
-
})
|
557
|
-
|
558
|
-
const rebalanceLoop = (immediate?: boolean): Effect.Effect<void> =>
|
559
|
-
Effect.suspend(() => {
|
560
|
-
const deferred = rebalanceDeferred
|
561
|
-
rebalanceDeferred = undefined
|
562
|
-
if (!immediate) {
|
563
|
-
immediate = nextRebalanceImmediate
|
564
|
-
nextRebalanceImmediate = false
|
565
|
-
}
|
566
|
-
return runRebalance(immediate).pipe(
|
567
|
-
deferred ? Effect.intoDeferred(deferred) : identity,
|
568
|
-
Effect.onExit(() => {
|
569
|
-
if (!rebalanceDeferred) {
|
570
|
-
rebalancing = false
|
571
|
-
return Effect.void
|
572
|
-
}
|
573
|
-
return Effect.forkIn(rebalanceLoop(), scope)
|
574
|
-
})
|
575
|
-
)
|
576
|
-
})
|
534
|
+
const rebalance = Effect.withFiberRuntime<void>((fiber) => {
|
535
|
+
if (!rebalancing) {
|
536
|
+
rebalancing = true
|
537
|
+
return rebalanceLoop
|
538
|
+
}
|
539
|
+
if (!rebalanceDeferred) {
|
540
|
+
rebalanceDeferred = Deferred.unsafeMake(fiber.id())
|
541
|
+
}
|
542
|
+
return Deferred.await(rebalanceDeferred)
|
543
|
+
})
|
577
544
|
|
578
|
-
const
|
579
|
-
|
545
|
+
const rebalanceLoop: Effect.Effect<void> = Effect.suspend(() => {
|
546
|
+
const deferred = rebalanceDeferred
|
547
|
+
rebalanceDeferred = undefined
|
548
|
+
return runRebalance.pipe(
|
549
|
+
deferred ? Effect.intoDeferred(deferred) : identity,
|
550
|
+
Effect.onExit(() => {
|
551
|
+
if (!rebalanceDeferred) {
|
552
|
+
rebalancing = false
|
553
|
+
return Effect.void
|
554
|
+
}
|
555
|
+
return Effect.forkIn(rebalanceLoop, scope)
|
556
|
+
})
|
557
|
+
)
|
558
|
+
})
|
580
559
|
|
560
|
+
const runRebalance = Effect.gen(function*() {
|
581
561
|
yield* Effect.sleep(config.rebalanceDebounce)
|
582
562
|
|
583
563
|
if (state.shards.size === 0) {
|
@@ -590,10 +570,7 @@ export const make = Effect.gen(function*() {
|
|
590
570
|
const unassignments = MutableHashMap.empty<RunnerAddress, MutableHashSet.MutableHashSet<ShardId>>()
|
591
571
|
const changes = MutableHashSet.empty<RunnerAddress>()
|
592
572
|
for (const group of state.shards.keys()) {
|
593
|
-
const [groupAssignments, groupUnassignments, groupChanges] =
|
594
|
-
immediate || (state.unassignedShards(group).length > 0)
|
595
|
-
? decideAssignmentsForUnassignedShards(state, group)
|
596
|
-
: decideAssignmentsForUnbalancedShards(state, group, config.rebalanceRate)
|
573
|
+
const [groupAssignments, groupUnassignments, groupChanges] = decideAssignmentsForShards(state, group)
|
597
574
|
for (const [address, shards] of groupAssignments) {
|
598
575
|
addAllNested(assignments, address, Array.from(shards, (id) => makeShardId(group, id)))
|
599
576
|
}
|
@@ -605,7 +582,7 @@ export const make = Effect.gen(function*() {
|
|
605
582
|
}
|
606
583
|
}
|
607
584
|
|
608
|
-
yield* Effect.logDebug(`Rebalancing shards
|
585
|
+
yield* Effect.logDebug(`Rebalancing shards`)
|
609
586
|
|
610
587
|
if (MutableHashSet.size(changes) === 0) return
|
611
588
|
|
@@ -691,16 +668,16 @@ export const make = Effect.gen(function*() {
|
|
691
668
|
yield* Effect.logWarning("Failed to rebalance runners: ", failedRunners)
|
692
669
|
}
|
693
670
|
|
694
|
-
if (wereFailures
|
671
|
+
if (wereFailures) {
|
695
672
|
// Try rebalancing again later if there were any failures
|
696
673
|
yield* Clock.sleep(config.rebalanceRetryInterval).pipe(
|
697
|
-
Effect.zipRight(rebalance
|
674
|
+
Effect.zipRight(rebalance),
|
698
675
|
Effect.forkIn(scope)
|
699
676
|
)
|
700
677
|
}
|
701
678
|
|
702
679
|
yield* persistAssignments
|
703
|
-
})
|
680
|
+
}).pipe(Effect.withSpan("ShardManager.rebalance", { captureStackTrace: false }))
|
704
681
|
|
705
682
|
const checkRunnerHealth: Effect.Effect<void> = Effect.suspend(() =>
|
706
683
|
Effect.forEach(MutableHashMap.keys(state.allRunners), notifyUnhealthyRunner, {
|
@@ -720,14 +697,8 @@ export const make = Effect.gen(function*() {
|
|
720
697
|
|
721
698
|
yield* Effect.forkIn(persistRunners, scope)
|
722
699
|
|
723
|
-
// Rebalance immediately if there are unassigned shards
|
724
|
-
yield* Effect.forkIn(
|
725
|
-
rebalance(state.allUnassignedShards.length > 0),
|
726
|
-
scope
|
727
|
-
)
|
728
|
-
|
729
700
|
// Start a regular cluster rebalance at the configured interval
|
730
|
-
yield* rebalance
|
701
|
+
yield* rebalance.pipe(
|
731
702
|
Effect.andThen(Effect.sleep(config.rebalanceInterval)),
|
732
703
|
Effect.forever,
|
733
704
|
Effect.forkIn(scope)
|
@@ -244,34 +244,26 @@ export interface RunnerWithMetadata {
|
|
244
244
|
/** @internal */
|
245
245
|
export const RunnerWithMetadata = (runner: RunnerWithMetadata): RunnerWithMetadata => runner
|
246
246
|
|
247
|
-
/** @internal */
|
248
|
-
export function decideAssignmentsForUnassignedShards(state: State, group: string): readonly [
|
249
|
-
assignments: MutableHashMap.MutableHashMap<RunnerAddress, Set<number>>,
|
250
|
-
unassignments: MutableHashMap.MutableHashMap<RunnerAddress, Set<number>>,
|
251
|
-
changes: MutableHashSet.MutableHashSet<RunnerAddress>
|
252
|
-
] {
|
253
|
-
return pickNewRunners(state.unassignedShards(group), state, group, true, 1)
|
254
|
-
}
|
255
|
-
|
256
247
|
const allocationOrder: Order.Order<[number, number, number]> = Order.combine(
|
257
248
|
Order.mapInput(Order.number, ([, shards]) => shards),
|
258
249
|
Order.mapInput(Order.number, ([, , registeredAt]) => registeredAt)
|
259
250
|
)
|
260
251
|
|
261
252
|
/** @internal */
|
262
|
-
export function
|
253
|
+
export function decideAssignmentsForShards(state: State, group: string): readonly [
|
263
254
|
assignments: MutableHashMap.MutableHashMap<RunnerAddress, Set<number>>,
|
264
255
|
unassignments: MutableHashMap.MutableHashMap<RunnerAddress, Set<number>>,
|
265
256
|
changes: MutableHashSet.MutableHashSet<RunnerAddress>
|
266
257
|
] {
|
267
258
|
const shardsPerRunner = state.shardsPerRunner(group)
|
268
259
|
const maxVersion = state.maxVersion
|
269
|
-
const
|
260
|
+
const shardsToRebalance = state.unassignedShards(group)
|
270
261
|
|
271
262
|
const runnerGroup = state.runners.get(group)!
|
272
263
|
const shardsGroup = state.shards.get(group)!
|
273
264
|
|
274
265
|
if (state.allRunnersHaveVersion(maxVersion)) {
|
266
|
+
const extraShardsToAllocate = Arr.empty<[number, shardsInverse: number, registeredAt: number]>()
|
275
267
|
const averageShardsPerRunner = state.averageShardsPerRunner(group)
|
276
268
|
MutableHashMap.forEach(shardsPerRunner, (shards) => {
|
277
269
|
// Count how many extra shards there are compared to the average
|
@@ -296,19 +288,19 @@ export function decideAssignmentsForUnbalancedShards(state: State, group: string
|
|
296
288
|
])
|
297
289
|
}
|
298
290
|
})
|
291
|
+
extraShardsToAllocate.sort(allocationOrder)
|
292
|
+
for (let i = 0; i < extraShardsToAllocate.length; i++) {
|
293
|
+
shardsToRebalance.push(extraShardsToAllocate[i][0])
|
294
|
+
}
|
299
295
|
}
|
300
296
|
|
301
|
-
|
302
|
-
|
303
|
-
return pickNewRunners(sortedShardsToRebalance, state, group, false, rate, shardsPerRunner, maxVersion)
|
297
|
+
return pickNewRunners(shardsToRebalance, state, group, shardsPerRunner, maxVersion)
|
304
298
|
}
|
305
299
|
|
306
300
|
function pickNewRunners(
|
307
301
|
shardsToRebalance: ReadonlyArray<number>,
|
308
302
|
state: State,
|
309
303
|
group: string,
|
310
|
-
immediate: boolean,
|
311
|
-
rate: number,
|
312
304
|
shardsPerRunner = state.shardsPerRunner(group),
|
313
305
|
maybeMaxVersion = state.maxVersion
|
314
306
|
): readonly [
|
@@ -343,13 +335,6 @@ function pickNewRunners(
|
|
343
335
|
// Do not assign to a runner that has unassignments in the same rebalance
|
344
336
|
if (MutableHashMap.has(unassignments, address)) continue
|
345
337
|
|
346
|
-
// Do not assign too many shards to each runner unless rebalancing must
|
347
|
-
// occur immediately
|
348
|
-
if (!immediate) {
|
349
|
-
const assignmentCount = Option.getOrUndefined(MutableHashMap.get(addressAssignments, address))?.size ?? 0
|
350
|
-
if (assignmentCount >= shardsGroup.size * rate) continue
|
351
|
-
}
|
352
|
-
|
353
338
|
if (candidate === undefined || shards.size < candidateShards!.size) {
|
354
339
|
candidate = address
|
355
340
|
candidateShards = shards
|