@effect/cluster 0.38.15 → 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/Entity.js +2 -0
- package/dist/cjs/Entity.js.map +1 -1
- 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/Entity.d.ts +1 -0
- package/dist/dts/Entity.d.ts.map +1 -1
- package/dist/dts/ShardManager.d.ts +2 -2
- package/dist/dts/ShardManager.d.ts.map +1 -1
- package/dist/esm/Entity.js +2 -0
- package/dist/esm/Entity.js.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 +6 -6
- package/src/Entity.ts +4 -0
- package/src/ShardManager.ts +36 -65
- package/src/internal/shardManager.ts +8 -23
package/dist/esm/Entity.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Entity.js","names":["RpcClient","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","Hash","Layer","Mailbox","Option","Predicate","Scope","ShardGroup","EntityAddress","EntityType","Envelope","hashString","ResourceMap","RunnerAddress","ShardId","ShardingConfig","Snowflake","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","getShardId","entityId","map","shardingTag","sharding","getShardGroup","client","pipe","flatMap","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","annotations","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","makeShardId","Math","abs","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","host","port","entityMap","
|
1
|
+
{"version":3,"file":"Entity.js","names":["RpcClient","RpcGroup","RpcServer","Arr","Context","Data","Effect","Equal","Exit","identity","Hash","Layer","Mailbox","Option","Predicate","Scope","ShardGroup","EntityAddress","EntityType","Envelope","hashString","ResourceMap","RunnerAddress","ShardId","ShardingConfig","Snowflake","TypeId","Symbol","for","isEntity","u","hasProperty","Proto","symbol","structure","type","that","annotate","tag","value","fromRpcGroup","protocol","annotateRpcs","annotateContext","context","annotateRpcsContext","getShardId","entityId","map","shardingTag","sharding","getShardGroup","client","pipe","flatMap","makeClient","toLayer","build","options","registerEntity","isEffect","succeed","effectDiscard","of","toLayerMailbox","buildHandlers","gen","behaviour","mailbox","make","handler","envelope","async","resume","unsafeOffer","resumes","set","handlers","rpc","requests","keys","Map","complete","request","exit","sync","get","delete","replier","fail","error","failCause","cause","catchAllCause","values","void","interruptible","forkScoped","concurrency","self","Object","create","annotations","CurrentAddress","Tag","CurrentRunnerAddress","Request","Class","lastSentChunkValue","lastSentChunk","chunk","lastNonEmpty","nextSequence","isNone","sequence","GenericTag","makeTestClient","fnUntraced","entity","layer","config","makeShardId","Math","abs","shardsPerGroup","snowflakeGen","makeGenerator","runnerAddress","host","port","entityMap","contextWith","toHandlersContext","provide","add","omit","entityEntry","dieMessage","address","entityType","shardId","provideService","server","makeNoSerialization","onFromServer","response","write","supportsAck","generateRequestId","unsafeNext","onFromClient","message","_tag","payload","requestId","id","none"],"sources":["../../src/Entity.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
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":"AAAA;;;AAGA,OAAO,KAAKA,GAAG,MAAM,iBAAiB;AACtC,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,QAAQ,MAAM,sBAAsB;AAChD,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,eAAe;AAExC,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,IAAI,MAAM,aAAa;AACnC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,WAAW,MAAM,oBAAoB;AACjD,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,cAAc,MAAM,uBAAuB;AACvD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,SAASC,mBAAmB,QAAQ,mBAAmB;AACvD,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AACrD,SACEC,YAAY,EACZC,oCAAoC,EACpCC,oCAAoC,EACpCC,KAAK,QACA,4BAA4B;AACnC,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAC3C,SAASC,MAAM,QAAQ,aAAa;AACpC,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,YAAY,QAAQ,mBAAmB;AAChD,SAASC,iBAAiB,EAAEC,OAAO,QAAQ,cAAc;AACzD,SAASC,IAAI,IAAIC,WAAW,EAAEC,OAAO,QAAQ,cAAc;AAC3D,SAASC,cAAc,QAAQ,qBAAqB;AACpD,SAASC,YAAY,QAAQ,mBAAmB;AAEhD;;;;AAIA,OAAM,MAAOC,YAAa,sBAAQrC,OAAO,CAACsC,GAAG,CAAC,8BAA8B,CAAC,EA+BzE;AAEJ;;;;AAIA,OAAM,MAAOC,MAAO,sBAAQvC,OAAO,CAACsC,GAAG,CAAC,qCAAqC,CAAC,EAoC1E;EACF;;;EAGA,OAAgBE,QAAQ,GAAmB;IACzCC,iBAAiB,eAAEtC,QAAQ,CAACuC,MAAM,CAAC,GAAG,CAAC;IACvCC,iBAAiB,eAAExC,QAAQ,CAACyC,OAAO,CAAC,EAAE,CAAC;IACvCC,sBAAsB,eAAE1C,QAAQ,CAACyC,OAAO,CAAC,EAAE,CAAC;IAC5CE,aAAa,EAAE,CAAC,GAAG,GAAG;IACtBC,iBAAiB,EAAE,GAAG;IACtBC,oBAAoB,eAAE7C,QAAQ,CAACyC,OAAO,CAAC,CAAC,CAAC;IACzCK,yBAAyB,eAAE9C,QAAQ,CAAC+C,OAAO,CAAC,CAAC,CAAC;IAC9CC,iBAAiB,eAAEhD,QAAQ,CAACyC,OAAO,CAAC,CAAC;GACtC;;AAGH;;;;AAIA,OAAO,MAAMQ,YAAY,gBAAmCtD,OAAO,CAACuD,GAAG,CAAC;EACtEZ,iBAAiB,eAAE3C,OAAO,CAACwD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,cAC3DzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACC,iBAAiB,CAAC,eACtD3C,OAAO,CAAC2D,eAAe,CAAC,gEAAgE,CAAC,CAC1F;EACDd,iBAAiB,eAAE7C,OAAO,CAACwD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,cAC3DzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACG,iBAAiB,CAAC,eACtD7C,OAAO,CAAC2D,eAAe,CAAC,iEAAiE,CAAC,CAC3F;EACDZ,sBAAsB,eAAE/C,OAAO,CAACwD,QAAQ,CAAC,wBAAwB,CAAC,CAACC,IAAI,cACrEzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACK,sBAAsB,CAAC,eAC3D/C,OAAO,CAAC2D,eAAe,CACrB,4FAA4F,CAC7F,CACF;EACDX,aAAa,eAAEhD,OAAO,CAAC4D,MAAM,CAAC,eAAe,CAAC,CAACH,IAAI,cACjDzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACM,aAAa,CAAC,eAClDhD,OAAO,CAAC2D,eAAe,CAAC,mDAAmD,CAAC,CAC7E;EACDV,iBAAiB,eAAEjD,OAAO,CAAC6D,OAAO,CAAC,mBAAmB,CAAC,CAACJ,IAAI,cAC1DzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACO,iBAAiB,CAAC,eACtDjD,OAAO,CAAC2D,eAAe,CAAC,yEAAyE,CAAC,CACnG;EACDT,oBAAoB,eAAElD,OAAO,CAACwD,QAAQ,CAAC,sBAAsB,CAAC,CAACC,IAAI,cACjEzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACQ,oBAAoB,CAAC,eACzDlD,OAAO,CAAC2D,eAAe,CAAC,2EAA2E,CAAC,CACrG;EACDR,yBAAyB,eAAEnD,OAAO,CAACwD,QAAQ,CAAC,2BAA2B,CAAC,CAACC,IAAI,cAC3EzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACS,yBAAyB,CAAC,eAC9DnD,OAAO,CAAC2D,eAAe,CAAC,sDAAsD,CAAC,CAChF;EACDN,iBAAiB,eAAErD,OAAO,CAACwD,QAAQ,CAAC,mBAAmB,CAAC,CAACC,IAAI,cAC3DzD,OAAO,CAAC0D,WAAW,CAACjB,MAAM,CAACC,QAAQ,CAACW,iBAAiB,CAAC,eACtDrD,OAAO,CAAC2D,eAAe,CAAC,+DAA+D,CAAC;CAE3F,CAAC;AAEF;;;;AAIA,OAAO,MAAMG,aAAa,gBAA+CR,YAAY,CAACG,IAAI,cACxFnD,MAAM,CAACyD,kBAAkB,cACvB9D,cAAc,CAAC+D,OAAO,EAAE,CAACP,IAAI,CAC3BxD,cAAc,CAACgE,YAAY,CAC5B,CACF,CACF;AAED;;;;AAIA,OAAO,MAAMC,WAAW,GAAIC,MAA4C,IACtExD,KAAK,CAACyD,OAAO,CAAC3B,MAAM,EAAE;EACpB,GAAGA,MAAM,CAACC,QAAQ;EAClB,GAAGyB;CACJ,CAAC;AAEJ;;;;AAIA,OAAO,MAAME,kBAAkB,GAAIF,MAA4C,IAC7ExD,KAAK,CAAC2D,MAAM,CAAC7B,MAAM,EAAE0B,MAAM,GAAG7D,MAAM,CAACiE,GAAG,CAACT,aAAa,EAAGU,GAAG,KAAM;EAAE,GAAGA,GAAG;EAAE,GAAGL;AAAM,CAAE,CAAC,CAAC,GAAGL,aAAa,CAAC;AAE5G;;;;;;;AAOA,OAAM,MAAOW,kBACX,sBAAQvE,OAAO,CAACsC,GAAG,CAAC,iDAAiD,CAAC,EA2BlE;AAGN;;;;AAIA,OAAO,MAAMkC,mBAAmB,gBAAGrD,MAAM,CAACsD,KAAK,cAC7CtD,MAAM,CAACuD,YAAY,CAAC,eAAe,EAAE,EAAE,CAAC,eACxCvD,MAAM,CAACuD,YAAY,CAAC,gBAAgB,EAAE;EACpCC,OAAO,EAAE/C,aAAa;EACtBgD,MAAM,eAAEzD,MAAM,CAAC0D,KAAK,CAAC3C,OAAO;CAC7B,CAAC,eACFf,MAAM,CAACuD,YAAY,CAAC,kBAAkB,EAAE;EACtCC,OAAO,EAAE/C,aAAa;EACtBgD,MAAM,eAAEzD,MAAM,CAAC0D,KAAK,CAAC3C,OAAO;CAC7B,CAAC,eACFf,MAAM,CAACuD,YAAY,CAAC,kBAAkB,EAAE;EACtCC,OAAO,EAAE/C;CACV,CAAC,eACFT,MAAM,CAACuD,YAAY,CAAC,oBAAoB,EAAE;EACxCC,OAAO,EAAE/C;CACV,CAAC,CACyC;AAE7C;;;;;;AAMA,OAAM,MAAOkD,IAAK,sBAAQpF,QAAQ,CAACsC,IAAI,cACrCxC,GAAG,CAACwC,IAAI,CAAC,UAAU,EAAE;EACnB+C,OAAO,EAAE;IAAEC,MAAM,EAAErD;EAAM,CAAE;EAC3BsD,OAAO,EAAEvD,SAAS,CAACA;CACpB,CAAC,eACFlC,GAAG,CAACwC,IAAI,CAAC,YAAY,EAAE;EACrB+C,OAAO,EAAE;IAAEJ,OAAO,EAAE/C;EAAa;CAClC,CAAC,eACFpC,GAAG,CAACwC,IAAI,CAAC,uBAAuB,EAAE;EAChC+C,OAAO,EAAE;IAAEJ,OAAO,EAAE/C;EAAa;CAClC,CAAC,eACFpC,GAAG,CAACwC,IAAI,CAAC,gBAAgB,EAAE;EACzBiD,OAAO,eAAE9D,MAAM,CAAC0D,KAAK,cAAC1D,MAAM,CAAC+D,KAAK,CAAChD,OAAO,eAAEf,MAAM,CAACJ,MAAM,CAACa,aAAa,CAAC,CAAC;CAC1E,CAAC,eACFpC,GAAG,CAACwC,IAAI,CAAC,gBAAgB,EAAE;EACzBiD,OAAO,EAAET,mBAAmB;EAC5BW,MAAM,EAAE;CACT,CAAC,eACF3F,GAAG,CAACwC,IAAI,CAAC,SAAS,EAAE;EAClBiD,OAAO,EAAE9D,MAAM,CAACiE;CACjB,CAAC,CACH;AAoBD;;;;AAIA,OAAO,MAAMC,aAAa,gBAAGpF,IAAI,CAACqF,UAAU,EAAiB;AAE7D;;;;AAIA,OAAO,MAAMC,eAAe,gBAAGnF,MAAM,CAACoF,GAAG,CAAC,aAAS;EACjD,MAAMvB,MAAM,GAAG,OAAO9B,cAAc;EACpC,MAAMsD,KAAK,GAAG,OAAOrF,MAAM,CAACqF,KAAK;EAEjC,MAAMC,MAAM,GAAG,IAAIC,GAAG,EAAU;EAChC,MAAMf,MAAM,GAAG/D,cAAc,CAAC+E,KAAK,EAAyC;EAE5E,IAAIC,SAAS,GAAG,CAAC;EAEjB,OAAOtB,kBAAkB,CAACuB,EAAE,CAAC;IAC3BC,QAAQ,EAAEA,CAACC,CAAC,EAAEC,WAAW,KACvB7F,MAAM,CAAC8F,IAAI,CAAC,MAAK;MACf,KAAK,MAAMC,KAAK,IAAIF,WAAW,EAAE;QAC/B,IAAIP,MAAM,CAACU,GAAG,CAACD,KAAK,CAAC,EAAE;QACvBT,MAAM,CAACW,GAAG,CAACF,KAAK,CAAC;QACjB,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAIrC,MAAM,CAACsC,cAAc,EAAED,CAAC,EAAE,EAAE;UAC/CzF,cAAc,CAAC2F,GAAG,CAAC5B,MAAM,EAAE3C,WAAW,CAACkE,KAAK,EAAEG,CAAC,CAAC,EAAErC,MAAM,CAACwC,aAAa,CAAC;QACzE;MACF;MACA,OAAO/E,SAAS,CAACM,IAAI,CAAC,EAAE6D,SAAS,CAAC;IACpC,CAAC,CAAC;IACJa,UAAU,EAAEA,CAAA,KAAMtG,MAAM,CAACuG,IAAI;IAC7BC,qBAAqB,EAAEA,CAAA,KAAMxG,MAAM,CAACuG,IAAI;IACxCE,cAAc,EAAEzG,MAAM,CAAC8D,OAAO,CAACU,MAAM,CAAC;IACtCkC,cAAc,EAAE1G,MAAM,CAACoF,GAAG,CAAC,aAAS;MAClC,MAAMuB,OAAO,GAAG,OAAOrG,OAAO,CAACsB,IAAI,EAAiB;MACpD,OAAO+E,OAAO,CAACC,KAAK,CAAC3B,aAAa,CAAC4B,aAAa,EAAE,CAAC;MACnD,OAAOF,OAAO;IAChB,CAAC,CAAC;IACFG,OAAO,EAAEzB,KAAK,CAAC0B;GAChB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,aAAa,gBAItBhH,MAAM,CAACoF,GAAG,CAAC,aAAS;EACtB,MAAMvB,MAAM,GAAG,OAAO9B,cAAc;EACpC,MAAMkF,MAAM,GAAG,OAAO5H,SAAS,CAACuC,IAAI,CAAC8C,IAAI,EAAE;IACzCwC,UAAU,EAAE,oBAAoB;IAChCC,cAAc,EAAE;GACjB,CAAC;EAEF,OAAOhD,kBAAkB,CAACuB,EAAE,CAAC;IAC3BC,QAAQ,EAAEA,CAACpB,OAAO,EAAEe,MAAM,KACxB2B,MAAM,CAACG,QAAQ,CAAC;MAAExC,MAAM,EAAErD,MAAM,CAACK,IAAI,CAAC;QAAE2C,OAAO;QAAE8C,OAAO,EAAExD,MAAM,CAACyD,aAAa;QAAEhC;MAAM,CAAE;IAAC,CAAE,CAAC;IAC9FgB,UAAU,EAAG/B,OAAO,IAAK0C,MAAM,CAACM,UAAU,CAAC;MAAEhD;IAAO,CAAE,CAAC;IACvDiC,qBAAqB,EAAGjC,OAAO,IAAK0C,MAAM,CAACO,qBAAqB,CAAC;MAAEjD;IAAO,CAAE,CAAC;IAC7EkC,cAAc,EAAEQ,MAAM,CAACQ,cAAc,EAAE;IACvCf,cAAc,EAAEO,MAAM,CAACS,cAAc,CAAC,KAAK,CAAC,EAAE;MAAEC,SAAS,EAAE;IAAI,CAAE,CAAC;IAClEb,OAAO,EAAEG,MAAM,CAACW,OAAO;GACxB,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMC,gBAAgB,gBAIzBxH,KAAK,CAAC2D,MAAM,CAACG,kBAAkB,EAAEgB,eAAe,CAAC;AAErD;;;;AAIA,OAAO,MAAM2C,cAAc,gBAIvBzH,KAAK,CAAC0H,MAAM,CAAC5D,kBAAkB,EAAE6C,aAAa,CAAC,CAAC7D,IAAI,cACtD9C,KAAK,CAAC2H,OAAO,cAAC3H,KAAK,CAAC0H,MAAM,CACxB1I,SAAS,CAAC4I,QAAQ,eAClBjI,MAAM,CAACoF,GAAG,CAAC,aAAS;EAClB,MAAMvB,MAAM,GAAG,OAAO9B,cAAc;EACpC,MAAMmG,cAAc,GAAG,OAAOxG,iBAAiB;EAC/C,OAAO,OAAOwG,cAAc,CAACrE,MAAM,CAACsE,mBAAmB,CAAC;AAC1D,CAAC,CAAC,CACH,CAAC,CACH;AAED;;;;AAIA,OAAO,MAAMvG,IAAI,gBAAG5B,MAAM,CAACoF,GAAG,CAAC,aAAS;EACtC,MAAMgD,OAAO,GAAG,OAAOpG,YAAY;EACnC,MAAMqG,UAAU,GAAG,OAAO1G,OAAO;EACjC,MAAM2G,eAAe,GAAG,OAAO7G,YAAY;EAC3C,MAAM4D,KAAK,GAAG,OAAOrF,MAAM,CAACqF,KAAK;EACjC,MAAMxB,MAAM,GAAG,OAAO1B,MAAM;EAC5B,MAAMoG,cAAc,GAAG,OAAOxG,cAAc;EAE5C,MAAMyG,KAAK,GAAG,OAAOxI,MAAM,CAACyI,KAAK,CAACpH,KAAK,CAACqH,WAAW,CAACH,cAAc,CAACpC,cAAc,CAAC,CAAC;EACnF,MAAMwC,KAAK,GAAG,OAAO3I,MAAM,CAAC2I,KAAK;EACjC,MAAMC,MAAM,GAAG,OAAOhI,MAAM,CAACiI,SAAS,EAAiB;EAEvD,SAASC,mBAAmBA,CAAA;IAC1B7H,cAAc,CAAC8H,OAAO,CAACC,YAAY,CAACvI,cAAc,CAACwI,IAAI,CAACT,KAAK,CAACU,UAAU,CAAC,EAAE,EAAE,CAAC;EAChF;EAEA,SAASC,kBAAkBA,CAAA;IACzB,MAAMC,KAAK,GAAGZ,KAAK,CAACa,UAAU;IAC9B,KAAK,MAAM,CAAC9E,OAAO,EAAE+E,UAAU,CAAC,IAAIF,KAAK,CAACG,SAAS,EAAE;MACnDtI,cAAc,CAACuI,cAAc,CAACR,YAAY,CACxCM,UAAU,EACV,CAAC9I,WAAW,CAACoB,IAAI,CAAC,SAAS,EAAE2C,OAAO,CAAC,CAAC,CACvC;IACH;IACAtD,cAAc,CAACwI,gBAAgB,CAACT,YAAY,CAACI,KAAK,CAACM,UAAU,EAAE,EAAE,CAAC;EACpE;EACAP,kBAAkB,EAAE;EAEpB,SAASQ,SAASA,CAAU3F,MAA8B;IACxD,OAAOA,MAAM,CAACb,IAAI,CAChBnD,MAAM,CAAC4J,KAAK,CAAC;MACXC,QAAQ,EAAE/I,QAAQ,CAACgJ,MAAM,CAACjG,MAAM,CAAClB,iBAAiB,CAAC;MACnDoH,KAAK,EAAElG,MAAM,CAAClB;KACf,CAAC,EACF3C,MAAM,CAACgK,MAAM,CACd;EACH;EAEA,MAAMC,cAAc,GAAGjK,MAAM,CAACkK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACR,SAAS,CAC3E3J,MAAM,CAACoK,OAAO,CAAC,MACbhC,OAAO,CAACiC,WAAW,CACjBjK,QAAQ,CAAC6D,GAAG,CAACuE,KAAK,CAACU,UAAU,EAAE,CAAC,CAAC3E,OAAO,EAAEK,MAAM,CAAC,KAAK,CAACL,OAAO,EAAEK,MAAM,CAACA,MAAM,CAAC,CAAC,CAChF,CACF,CACF,CAAC;EAEF,MAAM0F,kBAAkB,GAAGtK,MAAM,CAACkK,mBAAmB,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAACR,SAAS,CAC/E3J,MAAM,CAACoK,OAAO,CAAC,MAAMhC,OAAO,CAACmC,eAAe,CAAC/B,KAAK,CAACgC,WAAW,CAAC,CAAC,CACjE,CAAC;EAEF,MAAMhE,qBAAqB,GAAGxG,MAAM,CAACyK,UAAU,CAAC,WAAUlG,OAAsB;IAC9E,IAAI,CAAC9D,cAAc,CAACuF,GAAG,CAACwC,KAAK,CAACU,UAAU,EAAE3E,OAAO,CAAC,EAAE;IAEpD,OAAOhE,MAAM,CAACmK,SAAS,CACrBnK,MAAM,CAACoK,MAAM,CAAC1J,cAAc,CAAC2J,mBAAmB,EAAE,gBAAgB,EAAErG,OAAO,CAACsG,QAAQ,EAAE,CAAC,CACxF;IAED,IAAI,EAAE,OAAOvC,eAAe,CAACwC,OAAO,CAACvG,OAAO,CAAC,CAAC,EAAE;MAC9C,OAAOvE,MAAM,CAAC+K,UAAU,CAAC,sBAAsBxG,OAAO,CAACsG,QAAQ,EAAE,gBAAgB,CAAC;MAClF,OAAOvE,UAAU,CAAC/B,OAAO,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,SAASyG,iBAAiBA,CACxBxG,MAAyB,EACzBD,OAAqC;IAErC,OAAOvE,MAAM,CAACoK,OAAO,CAAC,MAAK;MACzB,IAAIzJ,MAAM,CAACsK,MAAM,CAAC1G,OAAO,CAAC,IAAI,CAAC9D,cAAc,CAACuF,GAAG,CAACwC,KAAK,CAACU,UAAU,EAAE3E,OAAO,CAAC2G,KAAK,CAAC,EAAE;QAClF,OAAOlL,MAAM,CAACmL,IAAI,CAAC,IAAInK,mBAAmB,CAAC;UAAEuD,OAAO,EAAEA,OAAO,CAAC2G;QAAK,CAAE,CAAC,CAAC;MACzE;MACA1C,KAAK,CAAC4C,cAAc,CAAC5G,MAAM,EAAED,OAAO,CAAC;MACrC,OAAOvE,MAAM,CAACuG,IAAI;IACpB,CAAC,CAAC;EACJ;EAEA,MAAME,cAAc,GAAGzG,MAAM,CAAC8F,IAAI,CAAC,MAAM0C,KAAK,CAACgC,WAAW,CAAC;EAE3D,IAAI/E,SAAS,GAAG,CAAC;EACjB,MAAME,QAAQ,GAAG3F,MAAM,CAACyK,UAAU,CAAC,WAAU7F,MAAc;IACzD,OAAO5E,MAAM,CAACqL,OAAO,CAAC,sBAAsB9J,MAAM,CAAC+J,MAAM,CAAC1G,MAAM,CAAC,EAAE,CAAC;IAEpE4D,KAAK,CAAC+C,SAAS,CAAC3G,MAAM,EAAES,KAAK,CAACmG,uBAAuB,EAAE,CAAC;IACxD1C,mBAAmB,EAAE;IACrB,OAAOlI,MAAM,CAAC6K,OAAO,CAAC7C,MAAM,EAAE3D,aAAa,CAACyG,gBAAgB,CAAC;MAAEnH,OAAO,EAAEK,MAAM,CAACL;IAAO,CAAE,CAAC,CAAC;IAE1F,IAAIiE,KAAK,CAACmD,mBAAmB,CAACC,MAAM,GAAG,CAAC,EAAE;MACxC,OAAOC,SAAS,CAAC,KAAK,CAAC;IACzB;IACA,OAAO7L,MAAM,CAAC8L,MAAM,CAAC7B,cAAc,EAAEtB,KAAK,CAAC;IAC3C,OAAOrH,SAAS,CAACM,IAAI,CAAC,EAAE6D,SAAS,CAAC;EACpC,CAAC,CAAC;EAEF,MAAMa,UAAU,GAAGtG,MAAM,CAACyK,UAAU,CAAC,WAAUlG,OAAsB;IACnE,IAAI,CAAC9D,cAAc,CAACuF,GAAG,CAACwC,KAAK,CAACU,UAAU,EAAE3E,OAAO,CAAC,EAAE;IAEpD,OAAOvE,MAAM,CAACqL,OAAO,CAAC,kCAAkC,EAAE9G,OAAO,CAAC;IAClE,MAAMwH,aAAa,GAAGvM,GAAG,CAACgG,KAAK,EAAW;IAC1C,KAAK,MAAM,CAACwG,KAAK,EAAEpH,MAAM,CAAC,IAAI4D,KAAK,CAACgC,WAAW,EAAE;MAC/C,IAAI7J,MAAM,CAACsK,MAAM,CAACrG,MAAM,CAAC,IAAI3E,KAAK,CAACgM,MAAM,CAACrH,MAAM,CAACsG,KAAK,EAAE3G,OAAO,CAAC,EAAE;QAChEwH,aAAa,CAACG,IAAI,CAACF,KAAK,CAAC;MAC3B;IACF;IACAxD,KAAK,CAAC4C,cAAc,CAACW,aAAa,EAAEpL,MAAM,CAACwL,IAAI,EAAE,CAAC;IAClD3D,KAAK,CAAC4D,YAAY,CAAC7H,OAAO,CAAC;IAC3BuE,mBAAmB,EAAE;IAErB,IAAIiD,aAAa,CAACH,MAAM,GAAG,CAAC,EAAE;MAC5B,OAAOhL,MAAM,CAAC6K,OAAO,CAAC7C,MAAM,EAAE3D,aAAa,CAACoH,kBAAkB,CAAC;QAAE9H;MAAO,CAAE,CAAC,CAAC;IAC9E;IAEA,OAAOvE,MAAM,CAAC8L,MAAM,CAAC7B,cAAc,EAAEtB,KAAK,CAAC;IAC3C,OAAO3I,MAAM,CAAC8L,MAAM,CAACD,SAAS,CAAC,IAAI,CAAC,EAAElD,KAAK,CAAC;EAC9C,CAAC,CAAC;EAEF,IAAI2D,WAAW,GAAG,KAAK;EACvB,IAAIC,sBAAsB,GAAG,KAAK;EAClC,IAAIC,iBAAsD;EAC1D,MAAMC,eAAe,GAAG,OAAOvM,QAAQ,CAAC0B,IAAI,EAAE;EAE9C,MAAMiK,SAAS,GAAIa,UAAmB,IACpC1M,MAAM,CAAC2M,gBAAgB,CAAQC,KAAK,IAAI;IACtC,IAAI,CAACN,WAAW,EAAE;MAChBA,WAAW,GAAG,IAAI;MAClB,OAAOO,aAAa,CAACH,UAAU,CAAC;IAClC;IACA,IAAIA,UAAU,EAAE;MACdH,sBAAsB,GAAG,IAAI;IAC/B;IACA,IAAI,CAACC,iBAAiB,EAAE;MACtBA,iBAAiB,GAAG1M,QAAQ,CAACgN,UAAU,CAACF,KAAK,CAACG,EAAE,EAAE,CAAC;IACrD;IACA,OAAOjN,QAAQ,CAACkN,KAAK,CAACR,iBAAiB,CAAC;EAC1C,CAAC,CAAC;EAEJ,MAAMK,aAAa,GAAII,SAAmB,IACxCjN,MAAM,CAACoK,OAAO,CAAC,MAAK;IAClB,MAAM8C,QAAQ,GAAGV,iBAAiB;IAClCA,iBAAiB,GAAGW,SAAS;IAC7B,IAAI,CAACF,SAAS,EAAE;MACdA,SAAS,GAAGV,sBAAsB;MAClCA,sBAAsB,GAAG,KAAK;IAChC;IACA,OAAOa,YAAY,CAACH,SAAS,CAAC,CAAC9J,IAAI,CACjC+J,QAAQ,GAAGlN,MAAM,CAACqN,YAAY,CAACH,QAAQ,CAAC,GAAG/M,QAAQ,EACnDH,MAAM,CAACsN,MAAM,CAAC,MAAK;MACjB,IAAI,CAACd,iBAAiB,EAAE;QACtBF,WAAW,GAAG,KAAK;QACnB,OAAOtM,MAAM,CAACuG,IAAI;MACpB;MACA,OAAOvG,MAAM,CAAC8L,MAAM,CAACe,aAAa,EAAE,EAAElE,KAAK,CAAC;IAC9C,CAAC,CAAC,CACH;EACH,CAAC,CAAC;EAEJ,MAAMyE,YAAY,GAAGpN,MAAM,CAACuN,EAAE,CAAC,wBAAwB,CAAC,CAAC,WAAUN,SAAkB;IACnF,OAAOjN,MAAM,CAACwN,mBAAmB,CAAC,YAAY,EAAEP,SAAS,CAAC;IAE1D,OAAOjN,MAAM,CAACyN,KAAK,CAAC5J,MAAM,CAACxB,iBAAiB,CAAC;IAE7C,IAAImG,KAAK,CAAChE,MAAM,CAACyE,IAAI,KAAK,CAAC,EAAE;MAC3B,OAAOjJ,MAAM,CAAC0N,QAAQ,CAAC,wBAAwB,CAAC;MAChD;IACF;IAEA;IACA,MAAMlD,WAAW,GAAG/J,cAAc,CAAC+E,KAAK,EAAyD;IACjG,MAAMuG,aAAa,GAAGtL,cAAc,CAAC+E,KAAK,EAAyD;IACnG,MAAMmI,OAAO,GAAGjN,cAAc,CAAC8E,KAAK,EAAiB;IACrD,KAAK,MAAMO,KAAK,IAAIyC,KAAK,CAAChE,MAAM,CAACoJ,IAAI,EAAE,EAAE;MACvC,MAAM,CAACC,gBAAgB,EAAEC,kBAAkB,EAAEC,YAAY,CAAC,GACxDd,SAAS,IAAKzE,KAAK,CAACiB,gBAAgB,CAAC1D,KAAK,CAAC,CAAC6F,MAAM,GAAG,CAAE,GACnDzK,oCAAoC,CAACqH,KAAK,EAAEzC,KAAK,CAAC,GAClD3E,oCAAoC,CAACoH,KAAK,EAAEzC,KAAK,EAAElC,MAAM,CAACnB,aAAa,CAAC;MAC9E,KAAK,MAAM,CAAC6B,OAAO,EAAEC,MAAM,CAAC,IAAIqJ,gBAAgB,EAAE;QAChD3M,YAAY,CAACsJ,WAAW,EAAEjG,OAAO,EAAEE,KAAK,CAACuJ,IAAI,CAACxJ,MAAM,EAAGuI,EAAE,IAAKlL,WAAW,CAACkE,KAAK,EAAEgH,EAAE,CAAC,CAAC,CAAC;MACxF;MACA,KAAK,MAAM,CAACxI,OAAO,EAAEC,MAAM,CAAC,IAAIsJ,kBAAkB,EAAE;QAClD5M,YAAY,CAAC6K,aAAa,EAAExH,OAAO,EAAEE,KAAK,CAACuJ,IAAI,CAACxJ,MAAM,EAAGuI,EAAE,IAAKlL,WAAW,CAACkE,KAAK,EAAEgH,EAAE,CAAC,CAAC,CAAC;MAC1F;MACA,KAAK,MAAMxI,OAAO,IAAIwJ,YAAY,EAAE;QAClCrN,cAAc,CAACuF,GAAG,CAAC0H,OAAO,EAAEpJ,OAAO,CAAC;MACtC;IACF;IAEA,OAAOvE,MAAM,CAAC0N,QAAQ,CAAC,mCAAmCT,SAAS,GAAG,CAAC;IAEvE,IAAIvM,cAAc,CAACuI,IAAI,CAAC0E,OAAO,CAAC,KAAK,CAAC,EAAE;IAExC,OAAOpN,MAAM,CAACmK,SAAS,CAACzJ,cAAc,CAACgN,UAAU,CAAC;IAElD;IACA,MAAMC,aAAa,GAAGxN,cAAc,CAAC8E,KAAK,EAAiB;IAC3D,KAAK,MAAMjB,OAAO,IAAIoJ,OAAO,EAAE;MAC7B,OAAOzN,QAAQ,CAACiO,GAAG,CACjB1B,eAAe,EACfpE,UAAU,CAAC+F,IAAI,CAAC7J,OAAO,CAAC,CAACpB,IAAI,CAC3BnD,MAAM,CAACqO,OAAO,CAACxK,MAAM,CAACd,iBAAiB,CAAC,EACxC/C,MAAM,CAACsO,QAAQ,CAAC,MAAK;QACnB5N,cAAc,CAACuF,GAAG,CAACiI,aAAa,EAAE3J,OAAO,CAAC;QAC1C9D,cAAc,CAAC8N,MAAM,CAAC/D,WAAW,EAAEjG,OAAO,CAAC;QAC3C9D,cAAc,CAAC8N,MAAM,CAACxC,aAAa,EAAExH,OAAO,CAAC;QAC7C,OAAOvE,MAAM,CAACuG,IAAI;MACpB,CAAC,CAAC,CACH,CACF;IACH;IACA,OAAOrG,QAAQ,CAACsO,UAAU,CAAC/B,eAAe,CAAC;IAE3C,MAAMgC,mBAAmB,GAAG,IAAIlJ,GAAG,EAAW;IAC9C,KAAK,MAAM,CAAChB,OAAO,EAAEC,MAAM,CAAC,IAAIuH,aAAa,EAAE;MAC7C,OAAO7L,QAAQ,CAACiO,GAAG,CACjB1B,eAAe,EACfzB,iBAAiB,CAACxG,MAAM,EAAE7D,MAAM,CAACwL,IAAI,EAAE,CAAC,CAAChJ,IAAI,CAC3CnD,MAAM,CAAC0O,WAAW,CAAC;QACjBC,SAAS,EAAEA,CAAA,KAAK;UACdjO,cAAc,CAACuF,GAAG,CAACiI,aAAa,EAAE3J,OAAO,CAAC;UAC1C,KAAK,MAAMyH,KAAK,IAAIxH,MAAM,EAAE;YAC1BiK,mBAAmB,CAACxI,GAAG,CAAC+F,KAAK,CAAC;UAChC;UACA;UACAvL,cAAc,CAAC8N,MAAM,CAAC/D,WAAW,EAAEjG,OAAO,CAAC;UAC3C,OAAOvE,MAAM,CAACuG,IAAI;QACpB,CAAC;QACDqI,SAAS,EAAEA,CAAA,KACThO,MAAM,CAAC6K,OAAO,CAAC7C,MAAM,EAAE3D,aAAa,CAAC4J,gBAAgB,CAAC;UAAEtK,OAAO;UAAEC,MAAM,EAAEC,KAAK,CAACuJ,IAAI,CAACxJ,MAAM;QAAC,CAAE,CAAC;OACjG,CAAC,CACH,CACF;IACH;IACA,OAAOtE,QAAQ,CAACsO,UAAU,CAAC/B,eAAe,CAAC;IAE3C;IACAhM,cAAc,CAACqO,OAAO,CAACtE,WAAW,EAAE,CAAChG,MAAM,EAAED,OAAO,KAAI;MACtD,KAAK,MAAMyH,KAAK,IAAIyC,mBAAmB,EAAE;QACvC/N,cAAc,CAAC6N,MAAM,CAAC/J,MAAM,EAAEwH,KAAK,CAAC;MACtC;MACA,IAAItL,cAAc,CAACuI,IAAI,CAACzE,MAAM,CAAC,KAAK,CAAC,EAAE;QACrC/D,cAAc,CAAC8N,MAAM,CAAC/D,WAAW,EAAEjG,OAAO,CAAC;MAC7C;IACF,CAAC,CAAC;IAEF;IACA,KAAK,MAAM,CAACA,OAAO,EAAEC,MAAM,CAAC,IAAIgG,WAAW,EAAE;MAC3C,OAAOtK,QAAQ,CAACiO,GAAG,CACjB1B,eAAe,EACfzB,iBAAiB,CAACxG,MAAM,EAAE7D,MAAM,CAACoO,IAAI,CAACxK,OAAO,CAAC,CAAC,CAACpB,IAAI,CAClDnD,MAAM,CAAC0O,WAAW,CAAC;QACjBC,SAAS,EAAEA,CAAA,KAAK;UACdjO,cAAc,CAACuF,GAAG,CAACiI,aAAa,EAAE3J,OAAO,CAAC;UAC1C,OAAOvE,MAAM,CAACuG,IAAI;QACpB,CAAC;QACDqI,SAAS,EAAEA,CAAA,KACThO,MAAM,CAAC6K,OAAO,CAAC7C,MAAM,EAAE3D,aAAa,CAAC+J,cAAc,CAAC;UAAEzK,OAAO;UAAEC,MAAM,EAAEC,KAAK,CAACuJ,IAAI,CAACxJ,MAAM;QAAC,CAAE,CAAC;OAC/F,CAAC,CACH,CACF;IACH;IACA,OAAOtE,QAAQ,CAACsO,UAAU,CAAC/B,eAAe,CAAC;IAE3CtD,kBAAkB,EAAE;IAEpB,MAAM8F,YAAY,GAAGvO,cAAc,CAACuI,IAAI,CAACiF,aAAa,CAAC,GAAG,CAAC;IAC3D,IAAIe,YAAY,EAAE;MAChB;MACA,OAAOjP,MAAM,CAAC8O,OAAO,CAACZ,aAAa,EAAE1H,qBAAqB,EAAE;QAAE0I,OAAO,EAAE;MAAI,CAAE,CAAC,CAAC/L,IAAI,CACjFnD,MAAM,CAAC8L,MAAM,CAACnD,KAAK,CAAC,CACrB;MACD,OAAO3I,MAAM,CAAC+K,UAAU,CAAC,+BAA+B,EAAEmD,aAAa,CAAC;IAC1E;IAEA,IAAIe,YAAY,IAAIhC,SAAS,EAAE;MAC7B;MACA,OAAOxN,KAAK,CAACgO,KAAK,CAAC5J,MAAM,CAACpB,sBAAsB,CAAC,CAACU,IAAI,CACpDnD,MAAM,CAACmP,QAAQ,CAACtD,SAAS,CAACoB,SAAS,CAAC,CAAC,EACrCjN,MAAM,CAAC8L,MAAM,CAACnD,KAAK,CAAC,CACrB;IACH;IAEA,OAAO2B,kBAAkB;EAC3B,CAAC,CAAC;EAEF,MAAM8E,iBAAiB,GAAwBpP,MAAM,CAACoK,OAAO,CAAC,MAC5DpK,MAAM,CAAC8O,OAAO,CAACrO,cAAc,CAACmN,IAAI,CAACpF,KAAK,CAACU,UAAU,CAAC,EAAE1C,qBAAqB,EAAE;IAC3E6I,WAAW,EAAE,EAAE;IACfH,OAAO,EAAE;GACV,CAAC,CACH;EAED,OAAOlP,MAAM,CAACsP,YAAY,CAAC,MACzBhF,kBAAkB,CAACnH,IAAI,CACrBnD,MAAM,CAACuP,aAAa,CAAEC,KAAK,IAAKxP,MAAM,CAAC+K,UAAU,CAAC,2CAA2C,EAAEyE,KAAK,CAAC,CAAC,EACtGxP,MAAM,CAACmP,QAAQ,CAAClF,cAAc,CAAC9G,IAAI,CACjCnD,MAAM,CAACuP,aAAa,CAAEC,KAAK,IAAKxP,MAAM,CAAC+K,UAAU,CAAC,uCAAuC,EAAEyE,KAAK,CAAC,CAAC,CACnG,CAAC,CACH,CACF;EAED,OAAOxP,MAAM,CAAC8L,MAAM,CAAC7B,cAAc,EAAEtB,KAAK,CAAC;EAE3C;EACA,OAAO3I,MAAM,CAAC8L,MAAM,CAClBD,SAAS,CAACrD,KAAK,CAACmD,mBAAmB,CAACC,MAAM,GAAG,CAAC,CAAC,EAC/CjD,KAAK,CACN;EAED;EACA,OAAOkD,SAAS,CAAC,KAAK,CAAC,CAAC1I,IAAI,CAC1BnD,MAAM,CAACyP,OAAO,CAACzP,MAAM,CAACyN,KAAK,CAAC5J,MAAM,CAACtB,iBAAiB,CAAC,CAAC,EACtDvC,MAAM,CAAC0P,OAAO,EACd1P,MAAM,CAAC8L,MAAM,CAACnD,KAAK,CAAC,CACrB;EAED,OAAOyG,iBAAiB,CAACjM,IAAI,CAC3BnD,MAAM,CAACyP,OAAO,CAACzP,MAAM,CAACyN,KAAK,CAAC5J,MAAM,CAAChB,yBAAyB,CAAC,CAAC,EAC9D7C,MAAM,CAAC0P,OAAO,EACd1P,MAAM,CAAC8L,MAAM,CAACnD,KAAK,CAAC,CACrB;EAED,OAAO3I,MAAM,CAACoF,GAAG,CAAC,aAAS;IACzB,MAAMuK,KAAK,GAAG,OAAO/O,MAAM,CAACgP,SAAS,CAAChH,MAAM,CAAC;IAC7C,OAAO,IAAI,EAAE;MACX,OAAO5I,MAAM,CAACqL,OAAO,CAAC,sBAAsB,EAAE,OAAOxK,KAAK,CAACgP,IAAI,CAACF,KAAK,CAAC,CAAC;IACzE;EACF,CAAC,CAAC,CAACxM,IAAI,CAACnD,MAAM,CAAC8L,MAAM,CAACnD,KAAK,CAAC,CAAC;EAE7B,OAAO3I,MAAM,CAACqL,OAAO,CAAC,2BAA2B,CAAC;EAElD,OAAOpJ,YAAY,CAACyD,EAAE,CAAC;IACrBe,cAAc;IACdC,cAAc,EAAE9F,MAAM,CAACgP,SAAS,CAAChH,MAAM,CAAC;IACxCjD,QAAQ;IACRW,UAAU;IACVuF,SAAS;IACTrF,qBAAqB;IACrB4I;GACD,CAAC;AACJ,CAAC,CAAC;AAEF;;;;AAIA,OAAO,MAAMU,KAAK,gBAIdzP,KAAK,CAAC0H,MAAM,CAAC9F,YAAY,EAAEL,IAAI,CAAC;AAEpC;;;;AAIA,OAAO,MAAMmO,mBAAmB,gBAAGrL,IAAI,CAACsL,OAAO,cAAChQ,MAAM,CAACoF,GAAG,CAAC,aAAS;EAClE,MAAM6K,YAAY,GAAG,OAAOhO,YAAY;EACxC,MAAMoD,KAAK,GAAG,OAAOrF,MAAM,CAACqF,KAAK;EACjC,OAAO;IACL+B,QAAQ,EAAEA,CAAC;MAAExC;IAAM,CAAE,KAAKqL,YAAY,CAACtK,QAAQ,CAACf,MAAM,CAAC;IACvD2C,UAAU,EAAEA,CAAC;MAAEhD;IAAO,CAAE,KAAK0L,YAAY,CAAC3J,UAAU,CAAC/B,OAAO,CAAC;IAC7DiD,qBAAqB,EAAEA,CAAC;MAAEjD;IAAO,CAAE,KAAK0L,YAAY,CAACzJ,qBAAqB,CAACjC,OAAO,CAAC;IACnFkD,cAAc,EAAEA,CAAA,KACdzH,MAAM,CAACiE,GAAG,CACRgM,YAAY,CAACxJ,cAAc,EAC1B+D,WAAW,IAAK/F,KAAK,CAACuJ,IAAI,CAACxD,WAAW,CAAC,CACzC;IACH9C,cAAc,EAAE1H,MAAM,CAACyK,UAAU,CAAC,aAAS;MACzC,MAAMkF,KAAK,GAAG,OAAOM,YAAY,CAACvJ,cAAc;MAChD,MAAMC,OAAO,GAAG,OAAOrG,OAAO,CAACsB,IAAI,EAAiB;MAEpD,OAAO+E,OAAO,CAACC,KAAK,CAAC3B,aAAa,CAAC4B,aAAa,EAAE,CAAC;MAEnD,OAAOhG,KAAK,CAACqP,WAAW,CAACP,KAAK,EAAE,CAAC,EAAE3K,MAAM,CAACmL,gBAAgB,CAAC,CAAChN,IAAI,CAC9DnD,MAAM,CAACoQ,OAAO,CAAExH,MAAM,IAAKjC,OAAO,CAAC0J,QAAQ,CAACzH,MAAM,CAAC,CAAC,EACpD5I,MAAM,CAAC0P,OAAO,EACd1P,MAAM,CAACsQ,UAAU,CAClB;MAED,OAAO3J,OAAO;IAChB,CAAC,CAAC;IACFiB,OAAO,EAAEA,CAAA,KAAMvC,KAAK,CAAC0B;GACtB;AACH,CAAC,CAAC,CAAC;AAEH;;;;AAIA,OAAO,MAAMwJ,WAAW,gBAIpBhR,SAAS,CAACuQ,KAAK,CAACpL,IAAI,EAAE;EACxBwC,UAAU,EAAE,cAAc;EAC1BC,cAAc,EAAE;CACjB,CAAC,CAAChE,IAAI,cAAC9C,KAAK,CAAC2H,OAAO,CAAC+H,mBAAmB,CAAC,CAAC","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":"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","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,11 +11,11 @@
|
|
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.
|
18
|
-
"effect": "^3.16.
|
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
|
+
"effect": "^3.16.7"
|
19
19
|
},
|
20
20
|
"publishConfig": {
|
21
21
|
"provenance": true
|
package/src/Entity.ts
CHANGED
@@ -13,6 +13,7 @@ import type { DurationInput } from "effect/Duration"
|
|
13
13
|
import * as Effect from "effect/Effect"
|
14
14
|
import * as Equal from "effect/Equal"
|
15
15
|
import * as Exit from "effect/Exit"
|
16
|
+
import { identity } from "effect/Function"
|
16
17
|
import * as Hash from "effect/Hash"
|
17
18
|
import * as Layer from "effect/Layer"
|
18
19
|
import * as Mailbox from "effect/Mailbox"
|
@@ -142,6 +143,8 @@ export interface Entity<in out Rpcs extends Rpc.Any> extends Equal.Equal {
|
|
142
143
|
| Sharding
|
143
144
|
>
|
144
145
|
|
146
|
+
of<Handlers extends HandlersFrom<Rpcs>>(handlers: Handlers): Handlers
|
147
|
+
|
145
148
|
/**
|
146
149
|
* Create a Layer from an Entity.
|
147
150
|
*
|
@@ -266,6 +269,7 @@ const Proto = {
|
|
266
269
|
Layer.effectDiscard
|
267
270
|
)
|
268
271
|
},
|
272
|
+
of: identity,
|
269
273
|
toLayerMailbox<
|
270
274
|
Rpcs extends Rpc.Any,
|
271
275
|
R,
|