@effect/cluster 0.38.8 → 0.38.10

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.
@@ -24,6 +24,7 @@ var Iterable = _interopRequireWildcard(require("effect/Iterable"));
24
24
  var Layer = _interopRequireWildcard(require("effect/Layer"));
25
25
  var Mailbox = _interopRequireWildcard(require("effect/Mailbox"));
26
26
  var Metric = _interopRequireWildcard(require("effect/Metric"));
27
+ var MetricLabel = _interopRequireWildcard(require("effect/MetricLabel"));
27
28
  var MutableHashMap = _interopRequireWildcard(require("effect/MutableHashMap"));
28
29
  var MutableHashSet = _interopRequireWildcard(require("effect/MutableHashSet"));
29
30
  var Option = _interopRequireWildcard(require("effect/Option"));
@@ -258,11 +259,17 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
258
259
  const state = yield* Effect.orDie(_shardManager.State.fromStorage(shardingConfig.shardsPerGroup));
259
260
  const scope = yield* Effect.scope;
260
261
  const events = yield* PubSub.unbounded();
261
- yield* Metric.incrementBy(ClusterMetrics.runners, MutableHashMap.size(state.allRunners));
262
- for (const [, address] of state.assignments) {
263
- const metric = Option.isSome(address) ? Metric.tagged(ClusterMetrics.assignedShards, "address", address.toString()) : ClusterMetrics.unassignedShards;
264
- yield* Metric.increment(metric);
262
+ function updateRunnerMetrics() {
263
+ ClusterMetrics.runners.unsafeUpdate(MutableHashMap.size(state.allRunners), []);
265
264
  }
265
+ function updateShardMetrics() {
266
+ const stats = state.shardStats;
267
+ for (const [address, shardCount] of stats.perRunner) {
268
+ ClusterMetrics.assignedShards.unsafeUpdate(shardCount, [MetricLabel.make("address", address)]);
269
+ }
270
+ ClusterMetrics.unassignedShards.unsafeUpdate(stats.unassigned, []);
271
+ }
272
+ updateShardMetrics();
266
273
  function withRetry(effect) {
267
274
  return effect.pipe(Effect.retry({
268
275
  schedule: Schedule.spaced(config.persistRetryCount),
@@ -295,7 +302,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
295
302
  const register = Effect.fnUntraced(function* (runner) {
296
303
  yield* Effect.logInfo(`Registering runner ${_Runner.Runner.pretty(runner)}`);
297
304
  state.addRunner(runner, clock.unsafeCurrentTimeMillis());
298
- yield* Metric.increment(ClusterMetrics.runners);
305
+ updateRunnerMetrics();
299
306
  yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({
300
307
  address: runner.address
301
308
  }));
@@ -316,9 +323,8 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
316
323
  }
317
324
  state.addAssignments(unassignments, Option.none());
318
325
  state.removeRunner(address);
319
- yield* Metric.incrementBy(ClusterMetrics.runners, -1);
326
+ updateRunnerMetrics();
320
327
  if (unassignments.length > 0) {
321
- yield* Metric.incrementBy(Metric.tagged(ClusterMetrics.unassignedShards, "runner_address", address.toString()), unassignments.length);
322
328
  yield* PubSub.publish(events, ShardingEvent.RunnerUnregistered({
323
329
  address
324
330
  }));
@@ -407,13 +413,10 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
407
413
  MutableHashMap.remove(assignments, address);
408
414
  return Effect.void;
409
415
  },
410
- onSuccess: () => {
411
- const shardCount = MutableHashSet.size(shards);
412
- return Metric.incrementBy(Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()), -shardCount).pipe(Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, shardCount)), Effect.zipRight(PubSub.publish(events, ShardingEvent.ShardsUnassigned({
413
- address,
414
- shards: Array.from(shards)
415
- }))));
416
- }
416
+ onSuccess: () => PubSub.publish(events, ShardingEvent.ShardsUnassigned({
417
+ address,
418
+ shards: Array.from(shards)
419
+ }))
417
420
  })));
418
421
  }
419
422
  yield* FiberSet.awaitEmpty(rebalanceFibers);
@@ -433,16 +436,14 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
433
436
  MutableHashSet.add(failedRunners, address);
434
437
  return Effect.void;
435
438
  },
436
- onSuccess: () => {
437
- const shardCount = MutableHashSet.size(shards);
438
- return Metric.incrementBy(Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()), -shardCount).pipe(Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, -shardCount)), Effect.zipRight(PubSub.publish(events, ShardingEvent.ShardsAssigned({
439
- address,
440
- shards: Array.from(shards)
441
- }))));
442
- }
439
+ onSuccess: () => PubSub.publish(events, ShardingEvent.ShardsAssigned({
440
+ address,
441
+ shards: Array.from(shards)
442
+ }))
443
443
  })));
444
444
  }
445
445
  yield* FiberSet.awaitEmpty(rebalanceFibers);
446
+ updateShardMetrics();
446
447
  const wereFailures = MutableHashSet.size(failedRunners) > 0;
447
448
  if (wereFailures) {
448
449
  // Check if the failing runners are still reachable
@@ -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","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","incrementBy","runners","size","allRunners","assignments","metric","isSome","tagged","assignedShards","toString","unassignedShards","increment","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","fnUntraced","runnerHealthChecked","isAlive","logWarning","updateShardsState","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","shardCount","zipRight","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","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","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":[]}
@@ -162,6 +162,23 @@ class State {
162
162
  allRunnersHaveVersion(version) {
163
163
  return version.pipe(Option.map(max => Arr.every(this.runnerVersions, version => version === max)), Option.getOrElse(_Function.constFalse));
164
164
  }
165
+ get shardStats() {
166
+ const perRunner = new Map();
167
+ let unassigned = 0;
168
+ for (const [, address] of this.assignments) {
169
+ if (Option.isNone(address)) {
170
+ unassigned++;
171
+ continue;
172
+ }
173
+ const runner = address.value.toString();
174
+ const count = perRunner.get(runner) ?? 0;
175
+ perRunner.set(runner, count + 1);
176
+ }
177
+ return {
178
+ perRunner,
179
+ unassigned
180
+ };
181
+ }
165
182
  shardsPerRunner(group) {
166
183
  const groupRunners = this.runners.get(group);
167
184
  const shards = MutableHashMap.empty();
@@ -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","shardsPerRunner","groupRunners","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassigned","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","toString","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","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 +1 @@
1
- {"version":3,"file":"ShardManager.d.ts","sourceRoot":"","sources":["../../src/ShardManager.ts"],"names":[],"mappings":"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"}
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;AASzC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACzD,OAAO,EAAuB,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;;IAO9C;;OAEG;6BACsB,MAAM,CAAC,MAAM,CACpC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3D;IACD;;OAEG;6BACsB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAClF;;OAEG;uBACgB,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IACzE;;OAEG;yBACkB,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpE;;OAEG;wBACiB,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D;;OAEG;oCAC6B,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/E;;OAEG;gCACyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAlCjD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,iBA+B9B;CAAG;;IAOL;;OAEG;gCACyB,QAAQ,CAAC,aAAa;IAClD;;OAEG;gCACyB,QAAQ,CAAC,aAAa;IAClD;;;OAGG;qCAC8B,QAAQ,CAAC,aAAa;IACvD;;;;OAIG;4BACqB,MAAM;IAC9B;;OAEG;mCAC4B,QAAQ,CAAC,aAAa;IACrD;;OAEG;gCACyB,MAAM;IAClC;;OAEG;wCACiC,QAAQ,CAAC,aAAa;IAC1D;;OAEG;gCACyB,QAAQ,CAAC,aAAa;;AAvCpD;;;GAGG;AACH,qBAAa,MAAO,SAAQ,WAoCxB;IACF;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CASvC;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAmCtD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAMpE,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,KAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAIzF,CAAA;AAEJ;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,KAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CACL,CAAA;;IAWxG;;OAEG;uBACgB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAChH;;OAEG;yBACkB,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpE;;OAEG;oCAC6B,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/E;;OAEG;6BACsB,MAAM,CAAC,MAAM,CACpC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3D;IACD;;OAEG;6BACsB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAC5F;;OAEG;sBACe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;;AAlC3C;;;;;;GAMG;AACH,qBAAa,kBACX,SAAQ,uBA2BJ;CACJ;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;IAgBa,CAAA;;;;;;;;;;;;;;;;;;AAE7C;;;;;GAKG;AACH,qBAAa,IAAK,SAAQ,SAqBzB;CAAG;AAEJ;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC;IAC1C,aAAa,EAAE,EAAE,CAAA;IACjB,cAAc,EAAE;QACd,OAAO,EAAE,aAAa,CAAA;QACtB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;KAC/B,CAAA;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,aAAa,CAAA;QACtB,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;KAC/B,CAAA;IACD,gBAAgB,EAAE;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAA;IAC5C,kBAAkB,EAAE;QAAE,OAAO,EAAE,aAAa,CAAA;KAAE,CAAA;CAC/C,CAAC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;0BAfb,aAAa;yBACd,aAAa,CAAC,OAAO,CAAC;;;;0BAGrB,aAAa;yBACd,aAAa,CAAC,OAAO,CAAC;;;;0BAEH,aAAa;;;;0BACX,aAAa;;;;;;;;0BARjC,aAAa;yBACd,aAAa,CAAC,OAAO,CAAC;;;;;0BAGrB,aAAa;yBACd,aAAa,CAAC,OAAO,CAAC;;;;;0BAEH,aAAa;;;;;0BACX,aAAa;;;;;;;;;;;kCARjC,aAAa;iCACd,aAAa,CAAC,OAAO,CAAC;;;;kCAGrB,aAAa;iCACd,aAAa,CAAC,OAAO,CAAC;;;;kCAEH,aAAa;;;;kCACX,aAAa;;;;;;8BARjC,aAAa;6BACd,aAAa,CAAC,OAAO,CAAC;;;8BAGrB,aAAa;6BACd,aAAa,CAAC,OAAO,CAAC;;;8BAEH,aAAa;;;8BACX,aAAa;;;;;;;;kCARjC,aAAa;iCACd,aAAa,CAAC,OAAO,CAAC;;;;kCAGrB,aAAa;iCACd,aAAa,CAAC,OAAO,CAAC;;;;kCAEH,aAAa;;;;kCACX,aAAa;;;;;;8BARjC,aAAa;6BACd,aAAa,CAAC,OAAO,CAAC;;;8BAGrB,aAAa;6BACd,aAAa,CAAC,OAAO,CAAC;;;8BAEH,aAAa;;;8BACX,aAAa;;;CAOe,CAAA;AAE7D;;;GAGG;AACH,eAAO,MAAM,eAAe;IA5GxB;;OAEG;uBACgB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAChH;;OAEG;yBACkB,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpE;;OAEG;oCAC6B,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/E;;OAEG;6BACsB,MAAM,CAAC,MAAM,CACpC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3D;IACD;;OAEG;6BACsB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAC5F;;OAEG;sBACe,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;yBAkHzC,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,CACvC,kBAAkB,CAAC,MAAM,CAAC,EAC1B,KAAK,EACL,cAAc,GAAG,SAAS,CAAC,QAAQ,GAAG,KAAK,CAiB3C,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,KAAK,CACxC,kBAAkB,EAClB,KAAK,EACL,cAAc,CACqC,CAAA;AAErD;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,KAAK,CACtC,kBAAkB,EAClB,KAAK,EACL,cAAc,GAAG,iBAAiB,CAUnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,IAAI;IA/Wf;;OAEG;6BACsB,MAAM,CAAC,MAAM,CACpC,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAC3D;IACD;;OAEG;6BACsB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAClF;;OAEG;uBACgB,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IACzE;;OAEG;yBACkB,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IACpE;;OAEG;wBACiB,CAAC,SAAS,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D;;OAEG;oCAC6B,CAAC,OAAO,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/E;;OAEG;gCACyB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;kFAmqB/C,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,YAAY,EACZ,KAAK,EACL,YAAY,GAAG,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,cAAc,CAC7B,CAAA;AAEpC;;;GAGG;AACH,eAAO,MAAM,mBAAmB,uNA4B7B,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CACnC,KAAK,EACL,KAAK,EACL,YAAY,GAAG,SAAS,CAAC,QAAQ,CAIQ,CAAA"}
@@ -21,6 +21,7 @@ import * as Iterable from "effect/Iterable";
21
21
  import * as Layer from "effect/Layer";
22
22
  import * as Mailbox from "effect/Mailbox";
23
23
  import * as Metric from "effect/Metric";
24
+ import * as MetricLabel from "effect/MetricLabel";
24
25
  import * as MutableHashMap from "effect/MutableHashMap";
25
26
  import * as MutableHashSet from "effect/MutableHashSet";
26
27
  import * as Option from "effect/Option";
@@ -244,11 +245,17 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
244
245
  const state = yield* Effect.orDie(State.fromStorage(shardingConfig.shardsPerGroup));
245
246
  const scope = yield* Effect.scope;
246
247
  const events = yield* PubSub.unbounded();
247
- yield* Metric.incrementBy(ClusterMetrics.runners, MutableHashMap.size(state.allRunners));
248
- for (const [, address] of state.assignments) {
249
- const metric = Option.isSome(address) ? Metric.tagged(ClusterMetrics.assignedShards, "address", address.toString()) : ClusterMetrics.unassignedShards;
250
- yield* Metric.increment(metric);
248
+ function updateRunnerMetrics() {
249
+ ClusterMetrics.runners.unsafeUpdate(MutableHashMap.size(state.allRunners), []);
251
250
  }
251
+ function updateShardMetrics() {
252
+ const stats = state.shardStats;
253
+ for (const [address, shardCount] of stats.perRunner) {
254
+ ClusterMetrics.assignedShards.unsafeUpdate(shardCount, [MetricLabel.make("address", address)]);
255
+ }
256
+ ClusterMetrics.unassignedShards.unsafeUpdate(stats.unassigned, []);
257
+ }
258
+ updateShardMetrics();
252
259
  function withRetry(effect) {
253
260
  return effect.pipe(Effect.retry({
254
261
  schedule: Schedule.spaced(config.persistRetryCount),
@@ -281,7 +288,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
281
288
  const register = Effect.fnUntraced(function* (runner) {
282
289
  yield* Effect.logInfo(`Registering runner ${Runner.pretty(runner)}`);
283
290
  state.addRunner(runner, clock.unsafeCurrentTimeMillis());
284
- yield* Metric.increment(ClusterMetrics.runners);
291
+ updateRunnerMetrics();
285
292
  yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({
286
293
  address: runner.address
287
294
  }));
@@ -302,9 +309,8 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
302
309
  }
303
310
  state.addAssignments(unassignments, Option.none());
304
311
  state.removeRunner(address);
305
- yield* Metric.incrementBy(ClusterMetrics.runners, -1);
312
+ updateRunnerMetrics();
306
313
  if (unassignments.length > 0) {
307
- yield* Metric.incrementBy(Metric.tagged(ClusterMetrics.unassignedShards, "runner_address", address.toString()), unassignments.length);
308
314
  yield* PubSub.publish(events, ShardingEvent.RunnerUnregistered({
309
315
  address
310
316
  }));
@@ -393,13 +399,10 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
393
399
  MutableHashMap.remove(assignments, address);
394
400
  return Effect.void;
395
401
  },
396
- onSuccess: () => {
397
- const shardCount = MutableHashSet.size(shards);
398
- return Metric.incrementBy(Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()), -shardCount).pipe(Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, shardCount)), Effect.zipRight(PubSub.publish(events, ShardingEvent.ShardsUnassigned({
399
- address,
400
- shards: Array.from(shards)
401
- }))));
402
- }
402
+ onSuccess: () => PubSub.publish(events, ShardingEvent.ShardsUnassigned({
403
+ address,
404
+ shards: Array.from(shards)
405
+ }))
403
406
  })));
404
407
  }
405
408
  yield* FiberSet.awaitEmpty(rebalanceFibers);
@@ -419,16 +422,14 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
419
422
  MutableHashSet.add(failedRunners, address);
420
423
  return Effect.void;
421
424
  },
422
- onSuccess: () => {
423
- const shardCount = MutableHashSet.size(shards);
424
- return Metric.incrementBy(Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()), -shardCount).pipe(Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, -shardCount)), Effect.zipRight(PubSub.publish(events, ShardingEvent.ShardsAssigned({
425
- address,
426
- shards: Array.from(shards)
427
- }))));
428
- }
425
+ onSuccess: () => PubSub.publish(events, ShardingEvent.ShardsAssigned({
426
+ address,
427
+ shards: Array.from(shards)
428
+ }))
429
429
  })));
430
430
  }
431
431
  yield* FiberSet.awaitEmpty(rebalanceFibers);
432
+ updateShardMetrics();
432
433
  const wereFailures = MutableHashSet.size(failedRunners) > 0;
433
434
  if (wereFailures) {
434
435
  // Check if the failing runners are still reachable
@@ -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","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","incrementBy","runners","size","allRunners","assignments","metric","isSome","tagged","assignedShards","toString","unassignedShards","increment","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","fnUntraced","runnerHealthChecked","isAlive","logWarning","updateShardsState","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","shardCount","zipRight","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","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","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":[]}
@@ -153,6 +153,23 @@ export class State {
153
153
  allRunnersHaveVersion(version) {
154
154
  return version.pipe(Option.map(max => Arr.every(this.runnerVersions, version => version === max)), Option.getOrElse(constFalse));
155
155
  }
156
+ get shardStats() {
157
+ const perRunner = new Map();
158
+ let unassigned = 0;
159
+ for (const [, address] of this.assignments) {
160
+ if (Option.isNone(address)) {
161
+ unassigned++;
162
+ continue;
163
+ }
164
+ const runner = address.value.toString();
165
+ const count = perRunner.get(runner) ?? 0;
166
+ perRunner.set(runner, count + 1);
167
+ }
168
+ return {
169
+ perRunner,
170
+ unassigned
171
+ };
172
+ }
156
173
  shardsPerRunner(group) {
157
174
  const groupRunners = this.runners.get(group);
158
175
  const shards = MutableHashMap.empty();
@@ -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","shardsPerRunner","groupRunners","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassigned","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","toString","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+E,eAAeA,CAAC/B,KAAa;IAC3B,MAAMgC,YAAY,GAAG,IAAI,CAACtE,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAC;IAC5C,MAAMrC,MAAM,GAAGV,cAAc,CAACqB,KAAK,EAA8B;IAEjE,IAAI,CAAC0D,YAAY,IAAI/E,cAAc,CAACgF,OAAO,CAACD,YAAY,CAAC,EAAE,OAAOrE,MAAM;IACxEV,cAAc,CAACuB,OAAO,CAACwD,YAAY,EAAE,CAACE,CAAC,EAAEzD,OAAO,KAAI;MAClDxB,cAAc,CAAC4B,GAAG,CAAClB,MAAM,EAAEc,OAAO,EAAE,IAAI0D,GAAG,EAAE,CAAC;IAChD,CAAC,CAAC;IAEF,MAAMzB,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,CAACiF,MAAM,CAAC3D,OAAO,CAAC,EAAE;MAC5B,MAAM4D,QAAQ,GAAGlF,MAAM,CAACmF,cAAc,CAACrF,cAAc,CAACkD,GAAG,CAACxC,MAAM,EAAEc,OAAO,CAACe,KAAK,CAAC,CAAE;MAClF6C,QAAQ,CAACE,GAAG,CAAC/B,EAAE,CAAC;IAClB;IAEA,OAAO7C,MAAM;EACf;EAEA6E,sBAAsBA,CAACxC,KAAa;IAClC,MAAMyC,WAAW,GAAGxF,cAAc,CAACmE,IAAI,CAAC,IAAI,CAAC1D,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAC,IAAI/C,cAAc,CAACqB,KAAK,EAAE,CAAC;IAC1F,MAAMoE,UAAU,GAAG,IAAI,CAAC/E,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAC,IAAI,IAAIJ,GAAG,EAAE;IACtD,OAAO6C,WAAW,GAAG,CAAC,GAAGC,UAAU,CAACtB,IAAI,GAAGqB,WAAW,GAAG,CAAC;EAC5D;EAEA,IAAIE,mBAAmBA,CAAA;IACrB,MAAMC,UAAU,GAAmB,EAAE;IACrC,KAAK,MAAM,CAACrC,OAAO,EAAE9B,OAAO,CAAC,IAAI,IAAI,CAACiC,WAAW,EAAE;MACjD,IAAIvD,MAAM,CAACiF,MAAM,CAAC3D,OAAO,CAAC,EAAE;QAC1BmE,UAAU,CAAC9D,IAAI,CAACyB,OAAO,CAAC;MAC1B;IACF;IACA,OAAOqC,UAAU;EACnB;EAEAC,gBAAgBA,CAAC7C,KAAa;IAC5B,MAAMqC,QAAQ,GAAkB,EAAE;IAClC,MAAM3B,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,CAACiF,MAAM,CAAC3D,OAAO,CAAC,EAAE;QAC1B4D,QAAQ,CAACvD,IAAI,CAACO,KAAK,CAAC;MACtB;IACF;IACA,OAAOgD,QAAQ;EACjB;EAEA,IAAYR,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,SAAUoE,oCAAoCA,CAACC,KAAY,EAAE/C,KAAa;EAK9E,OAAOgD,cAAc,CAACD,KAAK,CAACF,gBAAgB,CAAC7C,KAAK,CAAC,EAAE+C,KAAK,EAAE/C,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E;AAEA,MAAMiD,eAAe,gBAA0C7F,KAAK,CAAC8F,OAAO,cAC1E9F,KAAK,CAAC+F,QAAQ,CAAC/F,KAAK,CAACgG,MAAM,EAAE,CAAC,GAAGzF,MAAM,CAAC,KAAKA,MAAM,CAAC,eACpDP,KAAK,CAAC+F,QAAQ,CAAC/F,KAAK,CAACgG,MAAM,EAAE,CAAC,IAAKrD,YAAY,CAAC,KAAKA,YAAY,CAAC,CACnE;AAED;AACA,OAAM,SAAUsD,oCAAoCA,CAACN,KAAY,EAAE/C,KAAa,EAAEsD,IAAY;EAK5F,MAAMvB,eAAe,GAAGgB,KAAK,CAAChB,eAAe,CAAC/B,KAAK,CAAC;EACpD,MAAMmB,UAAU,GAAG4B,KAAK,CAAC5B,UAAU;EACnC,MAAMoC,qBAAqB,GAAG1G,GAAG,CAACyB,KAAK,EAAyD;EAEhG,MAAMkF,WAAW,GAAGT,KAAK,CAACrF,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAE;EAC7C,MAAMyD,WAAW,GAAGV,KAAK,CAACpF,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;EAE5C,IAAI+C,KAAK,CAACtB,qBAAqB,CAACN,UAAU,CAAC,EAAE;IAC3C,MAAMqB,sBAAsB,GAAGO,KAAK,CAACP,sBAAsB,CAACxC,KAAK,CAAC;IAClE/C,cAAc,CAACuB,OAAO,CAACuD,eAAe,EAAGpE,MAAM,IAAI;MACjD;MACA,MAAM+F,WAAW,GAAGC,IAAI,CAAChC,GAAG,CAAC,CAAC,EAAEhE,MAAM,CAACyD,IAAI,GAAGoB,sBAAsB,CAAC;MACrE,KAAK,MAAMnD,KAAK,IAAIuE,UAAU,CAACjG,MAAM,EAAE+F,WAAW,CAAC,EAAE;QACnD,MAAMG,YAAY,GAAGJ,WAAW,CAACtD,GAAG,CAACd,KAAK,CAAC,IAAIlC,MAAM,CAAC0D,IAAI,EAAE;QAC5D,IAAI1D,MAAM,CAACiF,MAAM,CAACyB,YAAY,CAAC,EAAE;UAC/BN,qBAAqB,CAACzE,IAAI,CAAC,CAACO,KAAK,EAAEyE,MAAM,CAACC,gBAAgB,EAAED,MAAM,CAACC,gBAAgB,CAAC,CAAC;UACrF;QACF;QACA,MAAMtF,OAAO,GAAGoF,YAAY,CAACrE,KAAK;QAClC+D,qBAAqB,CAACzE,IAAI,CAAC,CACzBO,KAAK,EACLlC,MAAM,CAAC6G,KAAK,CAAC/G,cAAc,CAACkD,GAAG,CAAC4B,eAAe,EAAEtD,OAAO,CAAC,EAAE;UACzDwF,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAGvG,MAAM,IAAK,CAACA,MAAM,CAACyD;SAC7B,CAAC,EACFjE,MAAM,CAAC6G,KAAK,CAAC/G,cAAc,CAACkD,GAAG,CAACqD,WAAW,EAAE/E,OAAO,CAAC,EAAE;UACrDwF,MAAM,EAAEA,CAAA,KAAMH,MAAM,CAACC,gBAAgB;UACrCG,MAAM,EAAG3C,IAAI,IAAKA,IAAI,CAACxB;SACxB,CAAC,CACH,CAAC;MACJ;IACF,CAAC,CAAC;EACJ;EAEA,MAAMoE,uBAAuB,GAAGZ,qBAAqB,CAACa,IAAI,CAACnB,eAAe,CAAC,CAACtE,GAAG,CAAC,CAAC,CAACU,KAAK,CAAC,KAAKA,KAAK,CAAC;EAEnG,OAAO2D,cAAc,CAACmB,uBAAuB,EAAEpB,KAAK,EAAE/C,KAAK,EAAE,KAAK,EAAEsD,IAAI,EAAEvB,eAAe,EAAEZ,UAAU,CAAC;AACxG;AAEA,SAAS6B,cAAcA,CACrBqB,iBAAwC,EACxCtB,KAAY,EACZ/C,KAAa,EACbsE,SAAkB,EAClBhB,IAAY,EACZvB,eAAe,GAAGgB,KAAK,CAAChB,eAAe,CAAC/B,KAAK,CAAC,EAC9CuE,eAAe,GAAGxB,KAAK,CAAC5B,UAAU;EAMlC,MAAMqD,kBAAkB,GAAGvH,cAAc,CAACqB,KAAK,EAA8B;EAC7E,MAAMmG,aAAa,GAAGxH,cAAc,CAACqB,KAAK,EAA8B;EACxE,MAAMoG,OAAO,GAAGxH,cAAc,CAACoB,KAAK,EAAiB;EAErD,IAAInB,MAAM,CAACiF,MAAM,CAACmC,eAAe,CAAC,EAAE;IAClC,OAAO,CAACC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;EACrD;EACA,MAAMvD,UAAU,GAAGoD,eAAe,CAAC/E,KAAK;EAExC,MAAMgE,WAAW,GAAGT,KAAK,CAACrF,OAAO,CAACyC,GAAG,CAACH,KAAK,CAAE;EAC7C,MAAMyD,WAAW,GAAGV,KAAK,CAACpF,MAAM,CAACwC,GAAG,CAACH,KAAK,CAAE;EAE5C,KAAK,MAAMO,OAAO,IAAI8D,iBAAiB,EAAE;IACvC;IACA,IAAIM,SAAoC;IACxC,IAAIC,eAAwC;IAE5C,KAAK,MAAM,CAACnG,OAAO,EAAEd,MAAM,CAAC,IAAIoE,eAAe,EAAE;MAC/C;MACA,MAAM8C,eAAe,GAAG5H,cAAc,CAACkD,GAAG,CAACqD,WAAW,EAAE/E,OAAO,CAAC;MAChE,IAAItB,MAAM,CAACiF,MAAM,CAACyC,eAAe,CAAC,EAAE;MACpC,MAAMC,UAAU,GAAGD,eAAe,CAACrF,KAAK;MACxC,IAAIsF,UAAU,CAACpG,MAAM,CAAC2C,OAAO,KAAKF,UAAU,EAAE;MAE9C;MACA,IAAIlE,cAAc,CAACsC,GAAG,CAACkF,aAAa,EAAEhG,OAAO,CAAC,EAAE;MAEhD;MACA;MACA,IAAI,CAAC6F,SAAS,EAAE;QACd,MAAMS,eAAe,GAAG5H,MAAM,CAACmF,cAAc,CAACrF,cAAc,CAACkD,GAAG,CAACqE,kBAAkB,EAAE/F,OAAO,CAAC,CAAC,EAAE2C,IAAI,IAAI,CAAC;QACzG,IAAI2D,eAAe,IAAItB,WAAW,CAACrC,IAAI,GAAGkC,IAAI,EAAE;MAClD;MAEA,IAAIqB,SAAS,KAAKrD,SAAS,IAAI3D,MAAM,CAACyD,IAAI,GAAGwD,eAAgB,CAACxD,IAAI,EAAE;QAClEuD,SAAS,GAAGlG,OAAO;QACnBmG,eAAe,GAAGjH,MAAM;MAC1B;IACF;IACA,IAAI,CAACgH,SAAS,IAAI,CAACC,eAAe,EAAE;IAEpC;IACA,MAAMI,SAAS,GAAG7H,MAAM,CAACmF,cAAc,CAACmB,WAAW,CAACtD,GAAG,CAACI,OAAO,CAAC,IAAIpD,MAAM,CAAC0D,IAAI,EAAE,CAAC;IAClF,IAAImE,SAAS,IAAIA,SAAS,CAACC,QAAQ,EAAE,KAAKN,SAAS,CAACM,QAAQ,EAAE,EAAE;MAC9D;IACF;IACA,MAAMC,SAAS,GAAGF,SAAS,IAAI7H,MAAM,CAACmF,cAAc,CAACrF,cAAc,CAACkD,GAAG,CAAC4B,eAAe,EAAEiD,SAAS,CAAC,CAAC;IAEpG;IACA;IACA,IAAIE,SAAS,IAAIN,eAAe,CAACxD,IAAI,GAAG,CAAC,IAAI8D,SAAS,CAAC9D,IAAI,EAAE;IAE7D;IACAnE,cAAc,CAACkI,QAAQ,CACrBX,kBAAkB,EAClBG,SAAS,EACTxH,MAAM,CAAC6G,KAAK,CAAC;MACXC,MAAM,EAAEA,CAAA,KAAM9G,MAAM,CAACqE,IAAI,CAAC,IAAIW,GAAG,CAAC,CAAC5B,OAAO,CAAC,CAAC,CAAC;MAC7C2D,MAAM,EAAGvG,MAAM,IAAI;QACjBA,MAAM,CAAC4E,GAAG,CAAChC,OAAO,CAAC;QACnB,OAAOpD,MAAM,CAACqE,IAAI,CAAC7D,MAAM,CAAC;MAC5B;KACD,CAAC,CACH;IACD,IAAIqH,SAAS,EAAE;MACb/H,cAAc,CAACkI,QAAQ,CACrBV,aAAa,EACbO,SAAS,EACT7H,MAAM,CAAC6G,KAAK,CAAC;QACXC,MAAM,EAAEA,CAAA,KAAM9G,MAAM,CAACqE,IAAI,CAAC,IAAIW,GAAG,CAAC,CAAC5B,OAAO,CAAC,CAAC,CAAC;QAC7C2D,MAAM,EAAGvG,MAAM,IAAI;UACjBA,MAAM,CAAC4E,GAAG,CAAChC,OAAO,CAAC;UACnB,OAAOpD,MAAM,CAACqE,IAAI,CAAC7D,MAAM,CAAC;QAC5B;OACD,CAAC,CACH;IACH;IAEA;IACAiH,eAAe,CAACrC,GAAG,CAAChC,OAAO,CAAC;IAC5B,IAAI2E,SAAS,EAAE;MACbA,SAAS,CAACE,MAAM,CAAC7E,OAAO,CAAC;IAC3B;IAEA;IACArD,cAAc,CAACqF,GAAG,CAACmC,OAAO,EAAEC,SAAS,CAAC;IACtC,IAAIK,SAAS,EAAE9H,cAAc,CAACqF,GAAG,CAACmC,OAAO,EAAEM,SAAS,CAAC;EACvD;EAEA,OAAO,CAACR,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,CAAC;AACrD;AAEA,SAASd,UAAUA,CAAIyB,IAAiB,EAAE/E,CAAS;EACjD,MAAMgF,KAAK,GAAGC,KAAK,CAACC,IAAI,CAACH,IAAI,CAAC;EAC9B,IAAII,YAAY,GAAGH,KAAK,CAACrG,MAAM;EAC/B,OAAOwG,YAAY,IAAI,CAAC,EAAE;IACxB,MAAMC,WAAW,GAAG/B,IAAI,CAACgC,KAAK,CAAChC,IAAI,CAACiC,MAAM,EAAE,GAAGH,YAAY,CAAC;IAC5DA,YAAY,GAAGA,YAAY,GAAG,CAAC;IAC/BI,IAAI,CAACP,KAAK,EAAEG,YAAY,EAAEC,WAAW,CAAC;EACxC;EACA,OAAOpF,CAAC,GAAGgF,KAAK,CAACrG,MAAM,GAAGqG,KAAK,CAACQ,KAAK,CAAC,CAAC,EAAExF,CAAC,CAAC,GAAGgF,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,EACNjF,MAAmB,KACjB;EACF,MAAMkF,IAAI,GAAGnJ,cAAc,CAACkD,GAAG,CAACkF,IAAI,EAAEc,GAAG,CAAC;EAC1C,IAAIhJ,MAAM,CAACmC,MAAM,CAAC8G,IAAI,CAAC,EAAE;IACvB,KAAK,MAAM5G,KAAK,IAAI0B,MAAM,EAAE;MAC1BhE,cAAc,CAACqF,GAAG,CAAC6D,IAAI,CAAC5G,KAAK,EAAEA,KAAK,CAAC;IACvC;EACF,CAAC,MAAM;IACLvC,cAAc,CAAC4B,GAAG,CAACwG,IAAI,EAAEc,GAAG,EAAEjJ,cAAc,CAACmJ,YAAY,CAACnF,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","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":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/cluster",
3
- "version": "0.38.8",
3
+ "version": "0.38.10",
4
4
  "description": "Unified interfaces for common cluster-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,11 +11,11 @@
11
11
  "sideEffects": [],
12
12
  "homepage": "https://effect.website",
13
13
  "peerDependencies": {
14
- "@effect/platform": "^0.84.8",
15
- "@effect/rpc": "^0.61.8",
16
- "@effect/sql": "^0.37.9",
17
- "@effect/workflow": "^0.1.6",
18
- "effect": "^3.16.4"
14
+ "@effect/platform": "^0.84.9",
15
+ "@effect/rpc": "^0.61.10",
16
+ "@effect/sql": "^0.37.10",
17
+ "@effect/workflow": "^0.1.8",
18
+ "effect": "^3.16.5"
19
19
  },
20
20
  "publishConfig": {
21
21
  "provenance": true
@@ -22,6 +22,7 @@ import * as Iterable from "effect/Iterable"
22
22
  import * as Layer from "effect/Layer"
23
23
  import * as Mailbox from "effect/Mailbox"
24
24
  import * as Metric from "effect/Metric"
25
+ import * as MetricLabel from "effect/MetricLabel"
25
26
  import * as MutableHashMap from "effect/MutableHashMap"
26
27
  import * as MutableHashSet from "effect/MutableHashSet"
27
28
  import * as Option from "effect/Option"
@@ -431,14 +432,21 @@ export const make = Effect.gen(function*() {
431
432
  const scope = yield* Effect.scope
432
433
  const events = yield* PubSub.unbounded<ShardingEvent>()
433
434
 
434
- yield* Metric.incrementBy(ClusterMetrics.runners, MutableHashMap.size(state.allRunners))
435
+ function updateRunnerMetrics() {
436
+ ClusterMetrics.runners.unsafeUpdate(MutableHashMap.size(state.allRunners), [])
437
+ }
435
438
 
436
- for (const [, address] of state.assignments) {
437
- const metric = Option.isSome(address) ?
438
- Metric.tagged(ClusterMetrics.assignedShards, "address", address.toString()) :
439
- ClusterMetrics.unassignedShards
440
- yield* Metric.increment(metric)
439
+ function updateShardMetrics() {
440
+ const stats = state.shardStats
441
+ for (const [address, shardCount] of stats.perRunner) {
442
+ ClusterMetrics.assignedShards.unsafeUpdate(
443
+ shardCount,
444
+ [MetricLabel.make("address", address)]
445
+ )
446
+ }
447
+ ClusterMetrics.unassignedShards.unsafeUpdate(stats.unassigned, [])
441
448
  }
449
+ updateShardMetrics()
442
450
 
443
451
  function withRetry<A, E, R>(effect: Effect.Effect<A, E, R>): Effect.Effect<void, never, R> {
444
452
  return effect.pipe(
@@ -493,10 +501,11 @@ export const make = Effect.gen(function*() {
493
501
  let machineId = 0
494
502
  const register = Effect.fnUntraced(function*(runner: Runner) {
495
503
  yield* Effect.logInfo(`Registering runner ${Runner.pretty(runner)}`)
496
- state.addRunner(runner, clock.unsafeCurrentTimeMillis())
497
504
 
498
- yield* Metric.increment(ClusterMetrics.runners)
505
+ state.addRunner(runner, clock.unsafeCurrentTimeMillis())
506
+ updateRunnerMetrics()
499
507
  yield* PubSub.publish(events, ShardingEvent.RunnerRegistered({ address: runner.address }))
508
+
500
509
  if (state.allUnassignedShards.length > 0) {
501
510
  yield* rebalance(false)
502
511
  }
@@ -516,13 +525,9 @@ export const make = Effect.gen(function*() {
516
525
  }
517
526
  state.addAssignments(unassignments, Option.none())
518
527
  state.removeRunner(address)
519
- yield* Metric.incrementBy(ClusterMetrics.runners, -1)
528
+ updateRunnerMetrics()
520
529
 
521
530
  if (unassignments.length > 0) {
522
- yield* Metric.incrementBy(
523
- Metric.tagged(ClusterMetrics.unassignedShards, "runner_address", address.toString()),
524
- unassignments.length
525
- )
526
531
  yield* PubSub.publish(events, ShardingEvent.RunnerUnregistered({ address }))
527
532
  }
528
533
 
@@ -639,18 +644,8 @@ export const make = Effect.gen(function*() {
639
644
  MutableHashMap.remove(assignments, address)
640
645
  return Effect.void
641
646
  },
642
- onSuccess: () => {
643
- const shardCount = MutableHashSet.size(shards)
644
- return Metric.incrementBy(
645
- Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()),
646
- -shardCount
647
- ).pipe(
648
- Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, shardCount)),
649
- Effect.zipRight(
650
- PubSub.publish(events, ShardingEvent.ShardsUnassigned({ address, shards: Array.from(shards) }))
651
- )
652
- )
653
- }
647
+ onSuccess: () =>
648
+ PubSub.publish(events, ShardingEvent.ShardsUnassigned({ address, shards: Array.from(shards) }))
654
649
  })
655
650
  )
656
651
  )
@@ -677,24 +672,16 @@ export const make = Effect.gen(function*() {
677
672
  MutableHashSet.add(failedRunners, address)
678
673
  return Effect.void
679
674
  },
680
- onSuccess: () => {
681
- const shardCount = MutableHashSet.size(shards)
682
- return Metric.incrementBy(
683
- Metric.tagged(ClusterMetrics.assignedShards, "runner_address", address.toString()),
684
- -shardCount
685
- ).pipe(
686
- Effect.zipRight(Metric.incrementBy(ClusterMetrics.unassignedShards, -shardCount)),
687
- Effect.zipRight(
688
- PubSub.publish(events, ShardingEvent.ShardsAssigned({ address, shards: Array.from(shards) }))
689
- )
690
- )
691
- }
675
+ onSuccess: () =>
676
+ PubSub.publish(events, ShardingEvent.ShardsAssigned({ address, shards: Array.from(shards) }))
692
677
  })
693
678
  )
694
679
  )
695
680
  }
696
681
  yield* FiberSet.awaitEmpty(rebalanceFibers)
697
682
 
683
+ updateShardMetrics()
684
+
698
685
  const wereFailures = MutableHashSet.size(failedRunners) > 0
699
686
  if (wereFailures) {
700
687
  // Check if the failing runners are still reachable
@@ -162,6 +162,25 @@ export class State {
162
162
  )
163
163
  }
164
164
 
165
+ get shardStats(): {
166
+ readonly perRunner: Map<string, number>
167
+ readonly unassigned: number
168
+ } {
169
+ const perRunner = new Map<string, number>()
170
+ let unassigned = 0
171
+ for (const [, address] of this.assignments) {
172
+ if (Option.isNone(address)) {
173
+ unassigned++
174
+ continue
175
+ }
176
+ const runner = address.value.toString()
177
+ const count = perRunner.get(runner) ?? 0
178
+ perRunner.set(runner, count + 1)
179
+ }
180
+
181
+ return { perRunner, unassigned }
182
+ }
183
+
165
184
  shardsPerRunner(group: string): MutableHashMap.MutableHashMap<RunnerAddress, Set<number>> {
166
185
  const groupRunners = this.runners.get(group)
167
186
  const shards = MutableHashMap.empty<RunnerAddress, Set<number>>()