@effect/cluster 0.52.3 → 0.52.4

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.
@@ -13,6 +13,7 @@ var Effect = _interopRequireWildcard(require("effect/Effect"));
13
13
  var Either = _interopRequireWildcard(require("effect/Either"));
14
14
  var Equal = _interopRequireWildcard(require("effect/Equal"));
15
15
  var Fiber = _interopRequireWildcard(require("effect/Fiber"));
16
+ var FiberHandle = _interopRequireWildcard(require("effect/FiberHandle"));
16
17
  var FiberMap = _interopRequireWildcard(require("effect/FiberMap"));
17
18
  var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
18
19
  var FiberSet = _interopRequireWildcard(require("effect/FiberSet"));
@@ -124,8 +125,13 @@ const make = /*#__PURE__*/Effect.gen(function* () {
124
125
  if (MutableHashSet.size(unacquiredShards) === 0) {
125
126
  continue;
126
127
  }
127
- const acquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards);
128
- yield* Effect.ignore(storage.resetShards(acquired));
128
+ const oacquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards).pipe(Effect.timeoutOption(config.shardLockRefreshInterval));
129
+ if (Option.isNone(oacquired)) {
130
+ activeShardsLatch.unsafeOpen();
131
+ continue;
132
+ }
133
+ const acquired = oacquired.value;
134
+ yield* storage.resetShards(acquired).pipe(Effect.ignore, Effect.timeoutOption(config.shardLockRefreshInterval));
129
135
  for (const shardId of acquired) {
130
136
  if (MutableHashSet.has(releasingShards, shardId) || !MutableHashSet.has(selfShards, shardId)) {
131
137
  continue;
@@ -167,8 +173,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
167
173
  times: 5,
168
174
  schedule: Schedule.spaced(50)
169
175
  }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.repeat(Schedule.fixed(config.shardLockRefreshInterval)), Effect.forever, Effect.forkIn(shardingScope));
170
- const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
171
- const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
176
+ const releaseShardsHandle = yield* FiberHandle.make();
177
+ const releaseShards = Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
172
178
  concurrency: "unbounded",
173
179
  discard: true
174
180
  }).pipe(Effect.andThen(runnerStorage.release(selfAddress, shardId)), Effect.annotateLogs({
@@ -179,7 +185,11 @@ const make = /*#__PURE__*/Effect.gen(function* () {
179
185
  })), {
180
186
  concurrency: "unbounded",
181
187
  discard: true
182
- })));
188
+ })).pipe(Effect.repeat({
189
+ until: () => MutableHashSet.size(releasingShards) === 0
190
+ }), FiberHandle.run(releaseShardsHandle, {
191
+ onlyIfMissing: true
192
+ }));
183
193
  // open the shard latch every poll interval
184
194
  yield* activeShardsLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope));
185
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","_Function","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterMetrics","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runner","RunnerHealth","_Runners","_RunnerStorage","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runnersService","Runners","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","RunnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","makeShardId","isEntityOnLocalShards","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","entityType","status","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","EntityNotAssignedToRunner","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","Persisted","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","Runner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","forClient","isTransientInterrupt","interruptors","some","internalInterruptors","Interrupt","withFiberRuntime","makeEntityId","makeEntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","SingletonAddress","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","SingletonRegistered","running","unsafeHas","shouldBeRunning","reaper","EntityReaper","entityManagerLatches","registerEntity","build","sharding","fiberIdWith","preemptiveShutdown","shutdown","EntityRegistered","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberHandle","FiberMap","FiberRef","FiberSet","_Function","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterMetrics","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runner","RunnerHealth","_Runners","_RunnerStorage","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runnersService","Runners","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","RunnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","makeShardId","isEntityOnLocalShards","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","forever","releaseShardsHandle","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","until","run","onlyIfMissing","delay","sync","clear","openStorageReadLatch","constant","storageReadLock","unsafeMakeSemaphore","withStorageReadLock","withPermits","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","entityType","status","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","EntityNotAssignedToRunner","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","Persisted","maybeRunner","runnerIsLocal","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","Runner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","forClient","isTransientInterrupt","interruptors","some","internalInterruptors","Interrupt","withFiberRuntime","makeEntityId","makeEntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","SingletonAddress","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","SingletonRegistered","running","unsafeHas","shouldBeRunning","reaper","EntityReaper","entityManagerLatches","registerEntity","build","sharding","fiberIdWith","preemptiveShutdown","shutdown","EntityRegistered","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -206,7 +206,8 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
206
206
  if (toAcquire.size === 0) {
207
207
  return acquiredShardIds;
208
208
  }
209
- const results = (yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined))[0];
209
+ const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
210
+ const results = rows[0];
210
211
  for (const shardId in results) {
211
212
  if (results[shardId]) {
212
213
  acquiredShardIds.push(shardId);
@@ -333,14 +334,14 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
333
334
  pg: () => Effect.fnUntraced(function* (_address, shardId) {
334
335
  const lockNum = lockNumbers.get(shardId);
335
336
  const conn = yield* Resource.get(lockConnRef);
336
- const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
337
+ const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []).pipe(Effect.timeoutOption(Duration.seconds(5)));
337
338
  const check = conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
338
339
  while (true) {
339
340
  yield* release;
340
341
  const takenLocks = yield* check;
341
342
  if (takenLocks.length === 0) return;
342
343
  }
343
- }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
344
+ }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
344
345
  mysql: () => Effect.fnUntraced(function* (_address, shardId) {
345
346
  const conn = yield* Resource.get(lockConnRef);
346
347
  const lockName = lockNames.get(shardId);
@@ -351,7 +352,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
351
352
  const takenLocks = yield* check;
352
353
  if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return;
353
354
  }
354
- }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
355
+ }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
355
356
  orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled)
356
357
  }),
357
358
  releaseAll: sql.onDialectOrElse({
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Duration","Effect","Layer","Resource","_ClusterError","RunnerStorage","ShardId","ShardingConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","length","lockNum","push","lockNumbersReverse","delete","size","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","rows","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","PersistenceError","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","check","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,uBAAA,CAAAC,OAAA;AAGA,IAAAC,GAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,QAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,MAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,QAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,aAAA,GAAAN,OAAA;AACA,IAAAO,aAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,OAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,cAAA,GAAAV,uBAAA,CAAAC,OAAA;AAAqD,SAAAD,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAb,uBAAA,YAAAA,CAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAdrD;;;;AAgBA,MAAMkB,kBAAkB,gBAAG1B,MAAM,CAAC2B,iBAAiB,CAAC,KAAK,CAAC;AAE1D;;;;AAIO,MAAMC,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAG5B,MAAM,CAAC8B,UAAU,CAAC,WAAUC,OAE/C;EACC,MAAMC,MAAM,GAAG,OAAO1B,cAAc,CAACA,cAAc;EACnD,MAAM2B,GAAG,GAAG,CAAC,OAAOtC,SAAS,CAACA,SAAS,EAAEuC,iBAAiB,EAAE;EAC5D,MAAMC,MAAM,GAAGJ,OAAO,EAAEI,MAAM,IAAI,SAAS;EAC3C,MAAMC,KAAK,GAAIC,IAAY,IAAK,GAAGF,MAAM,IAAIE,IAAI,EAAE;EACnD,MAAMC,eAAe,GAAGL,GAAG,CAACM,eAAe,CAAC;IAC1CC,EAAE,EAAEA,CAAA,KACFxC,MAAM,CAACyC,GAAG,CAAC,aAAS;MAClB,MAAMC,IAAI,GAAG,OAAO1C,MAAM,CAAC2C,KAAK,CAACV,GAAG,CAACW,OAAO,CAAC;MAC7C,OAAO5C,MAAM,CAAC6C,YAAY,CAAC,MAAM7C,MAAM,CAAC2C,KAAK,CAACD,IAAI,CAACI,UAAU,CAAC,iCAAiC,EAAE,EAAE,CAAC,CAAC,CAAC;MACtG,OAAOJ,IAAI;IACb,CAAC,CAAC;IACJK,KAAK,EAAEA,CAAA,KACL/C,MAAM,CAACyC,GAAG,CAAC,aAAS;MAClB,MAAMC,IAAI,GAAG,OAAO1C,MAAM,CAAC2C,KAAK,CAACV,GAAG,CAACW,OAAO,CAAC;MAC7C,OAAO5C,MAAM,CAAC6C,YAAY,CAAC,MAAM7C,MAAM,CAAC2C,KAAK,CAACD,IAAI,CAACI,UAAU,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,CAAC;MACjG,OAAOJ,IAAI;IACb,CAAC,CAAC;IACJM,MAAM,EAAEA,CAAA,KAAMC;GACf,CAAC;EACF,MAAMC,WAAW,GAAGZ,eAAe,KAAK,OAAOpC,QAAQ,CAACiD,MAAM,CAACb,eAAe,CAAC,CAAC;EAEhF,MAAMc,YAAY,GAAGhB,KAAK,CAAC,SAAS,CAAC;EACrC,MAAMiB,eAAe,GAAGpB,GAAG,CAACmB,YAAY,CAAC;EAEzC;EACA;EACA,MAAME,YAAY,GAAG,OAAOrB,GAAG,wBAAwBA,GAAG,CAACG,KAAK,CAAC,QAAQ,CAAC,CAAC,UAAU,CAACmB,IAAI,CACxFvD,MAAM,CAACwD,SAAS,CACjB;EACD,IAAIF,YAAY,EAAE;IAChB,OAAOrB,GAAG,cAAcA,GAAG,CAACG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAACmB,IAAI,CAACvD,MAAM,CAACyD,MAAM,CAAC;IAClE,OAAOxB,GAAG,cAAcoB,eAAe,EAAE,CAACE,IAAI,CAACvD,MAAM,CAACyD,MAAM,CAAC;EAC/D;EAEA,OAAOxB,GAAG,CAACM,eAAe,CAAC;IACzBmB,KAAK,EAAEA,CAAA,KACLzB,GAAG;yBACgBoB,eAAe;uBACjBA,eAAe;;;;;;;;OAQ/B;IACHN,KAAK,EAAEA,CAAA,KACLd,GAAG;qCAC4BoB,eAAe;;;;;;;;OAQ7C;IACHb,EAAE,EAAEA,CAAA,KACFP,GAAG;qCAC4BoB,eAAe;;;;;;;;OAQ7C;IACHL,MAAM,EAAEA,CAAA;IACN;IACAf,GAAG;qCAC4BoB,eAAe;;;;;;;;;GASjD,CAAC;EAEF,MAAMM,UAAU,GAAGvB,KAAK,CAAC,OAAO,CAAC;EACjC,MAAMwB,aAAa,GAAG3B,GAAG,CAAC0B,UAAU,CAAC;EAErC,OAAO1B,GAAG,CAACM,eAAe,CAAC;IACzBmB,KAAK,EAAEA,CAAA,KACLzB,GAAG;yBACgB2B,aAAa;uBACfA,aAAa;;;;;OAK7B;IACHb,KAAK,EAAEA,CAAA,KAAM/C,MAAM,CAAC6D,IAAI;IACxBrB,EAAE,EAAEA,CAAA,KAAMxC,MAAM,CAAC6D,IAAI;IACrBb,MAAM,EAAEA,CAAA;IACN;IACAf,GAAG;qCAC4B2B,aAAa;;;;;;GAM/C,CAAC;EAEF,MAAME,YAAY,GAAG7B,GAAG,CAACM,eAAe,CAAC;IACvCC,EAAE,EAAEA,CAAA,KAAM,OAAO;IACjBO,KAAK,EAAEA,CAAA,KAAM,OAAO;IACpBW,KAAK,EAAEA,CAAA,KAAM,WAAW;IACxBV,MAAM,EAAEA,CAAA,KAAM;GACf,CAAC;EACF,MAAMe,MAAM,GAAG9B,GAAG,CAAC+B,OAAO,CAACF,YAAY,CAAC;EAExC,MAAMG,cAAc,GAAGhC,GAAG,CAAC+B,OAAO,CAACE,IAAI,CAACC,IAAI,CAACpE,QAAQ,CAACqE,SAAS,CAACpC,MAAM,CAACqC,mBAAmB,CAAC,CAAC,CAACC,QAAQ,EAAE,CAAC;EACxG,MAAMC,aAAa,GAAGtC,GAAG,CAACM,eAAe,CAAC;IACxCC,EAAE,EAAEA,CAAA,KAAMP,GAAG,GAAG8B,MAAM,gBAAgBE,cAAc,WAAW;IAC/DlB,KAAK,EAAEA,CAAA,KAAMd,GAAG,YAAY8B,MAAM,cAAcE,cAAc,UAAU;IACxEP,KAAK,EAAEA,CAAA,KAAMzB,GAAG,oBAAoBgC,cAAc,KAAKF,MAAM,GAAG;IAChEf,MAAM,EAAEA,CAAA,KAAMf,GAAG,YAAY8B,MAAM,OAAOE,cAAc;GACzD,CAAC;EAEF,MAAMO,aAAa,GAAGvC,GAAG,CAACM,eAAe,CAAC;IACxCmB,KAAK,EAAEA,CAAA,KAAOe,CAAU,IAAMA,CAAC,GAAG,CAAC,GAAG,CAAE;IACxCC,MAAM,EAAEA,CAAA,KAAOD,CAAU,IAAMA,CAAC,GAAG,CAAC,GAAG,CAAE;IACzCzB,MAAM,EAAEA,CAAA,KAAOyB,CAAU,IAAKA;GAC/B,CAAC;EAEF;EACA,MAAME,YAAY,GAAG1C,GAAG,CAACM,eAAe,CAAC;IACvCmB,KAAK,EAAEA,CAAA,KAAM,CAACkB,OAAe,EAAEC,MAAc,EAAEC,OAAgB,KAC7D7C,GAAG;gBACOoB,eAAe;wBACPuB,OAAO,gBAAgBC,MAAM,eAAed,MAAM,uBAClES,aAAa,CAACM,OAAO,CACvB;;;;;;;;OAQC,CAACC,MAAM;IACVhC,KAAK,EAAEA,CAAA,KAAM,CAAC6B,OAAe,EAAEC,MAAc,EAAEC,OAAgB,KAC7D7C,GAA2B;sBACXoB,eAAe;kBACnBuB,OAAO,KAAKC,MAAM,KAAKd,MAAM,KAAKe,OAAO;;;;;iCAK1BzB,eAAe,oBAAoBuB,OAAO;OACpE,CAACI,UAAU,CAACzB,IAAI,CACfvD,MAAM,CAACiF,GAAG,CAAEC,OAAY,IAAK,CAAC,CAACA,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAACC,UAAU,CAAC,CAAC,CAAC,CAC3D;IACH3C,EAAE,EAAEA,CAAA,KAAM,CAACoC,OAAe,EAAEC,MAAc,EAAEC,OAAgB,KAC1D7C,GAAG;sBACaoB,eAAe;kBACnBuB,OAAO,KAAKC,MAAM,KAAKd,MAAM,KAAKe,OAAO;;;;;;OAMpD,CAACC,MAAM;IACV/B,MAAM,EAAEA,CAAA,KAAM,CAAC4B,OAAe,EAAEC,MAAc,EAAEC,OAAgB;IAC9D;IACA7C,GAAG;sBACaoB,eAAe;kBACnBuB,OAAO,KAAKC,MAAM,KAAKd,MAAM,KAAKS,aAAa,CAACM,OAAO,CAAC;;;;;;OAMnE,CAACC;GACL,CAAC;EAEF,MAAMK,gBAAgB,GAAOC,MAA8B,IAAsC;IAC/F,IAAI,CAACnC,WAAW,EAAE,OAAOmC,MAAM;IAC/B,MAAM,CAACC,KAAK,EAAEC,MAAM,CAAC,GAAGF,MAAM,CAACG,OAAO,EAAE;IACxC,OAAOtF,QAAQ,CAACiB,GAAG,CAAC+B,WAAW,CAAC,CAACK,IAAI,CACnCvD,MAAM,CAACyF,OAAO,CAAE/C,IAAI,IAAKA,IAAI,CAACI,UAAU,CAACwC,KAAK,EAAEC,MAAM,CAAC,CAAC,EACxDvF,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,CACrD;EACH,CAAC;EACD,MAAM0C,sBAAsB,GAC1BP,MAA8B,IACgC;IAC9D,IAAI,CAACnC,WAAW,EAAE,OAAOmC,MAAM,CAACN,MAAM;IACtC,MAAM,CAACO,KAAK,EAAEC,MAAM,CAAC,GAAGF,MAAM,CAACG,OAAO,EAAE;IACxC,OAAOtF,QAAQ,CAACiB,GAAG,CAAC+B,WAAW,CAAC,CAACK,IAAI,CACnCvD,MAAM,CAACyF,OAAO,CAAE/C,IAAI,IAAKA,IAAI,CAACmD,aAAa,CAACP,KAAK,EAAEC,MAAM,CAAC,CAAC,EAC3DvF,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,CACrD;EACH,CAAC;EAED,MAAM4C,WAAW,GAAG7D,GAAG,CAACM,eAAe,CAAC;IACtCC,EAAE,EAAEA,CAAA,KACFxC,MAAM,CAAC8B,UAAU,CAAC,WAAUiE,QAAgB,EAAEC,QAA+B;MAC3E,MAAMtD,IAAI,GAAG,OAAOxC,QAAQ,CAACiB,GAAG,CAAC+B,WAAY,CAAC;MAC9C,MAAM+C,gBAAgB,GAAkB,EAAE;MAC1C,MAAMC,SAAS,GAAG,IAAIC,GAAG,CAACH,QAAQ,CAACf,GAAG,CAAEmB,OAAO,IAAK,CAACC,WAAW,CAAClF,GAAG,CAACiF,OAAO,CAAE,EAAEA,OAAO,CAAC,CAAC,CAAC;MAC1F,MAAME,UAAU,GAAG,OAAO5D,IAAI,CAACmD,aAAa,CAC1C,qHAAqH,EACrH,EAAE,CACH;MACD,KAAK,IAAI/E,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGwF,UAAU,CAACC,MAAM,EAAEzF,CAAC,EAAE,EAAE;QAC1C,MAAM0F,OAAO,GAAGF,UAAU,CAACxF,CAAC,CAAC,CAAC,CAAC,CAAW;QAC1CmF,gBAAgB,CAACQ,IAAI,CAACC,kBAAkB,CAACvF,GAAG,CAACqF,OAAO,CAAE,CAAC;QACvDN,SAAS,CAACS,MAAM,CAACH,OAAO,CAAC;MAC3B;MACA,IAAIN,SAAS,CAACU,IAAI,KAAK,CAAC,EAAE;QACxB,OAAOX,gBAAgB;MACzB;MACA,MAAMf,OAAO,GAAG,CAAC,OAAOxC,IAAI,CAACmE,iBAAiB,CAAC,UAAUC,OAAO,CAACZ,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEjD,SAAS,CAAC,EAAE,CAAC,CAG/F;MACD,KAAK,MAAMmD,OAAO,IAAIlB,OAAO,EAAE;QAC7B,IAAIA,OAAO,CAACkB,OAAO,CAAC,EAAE;UACpBH,gBAAgB,CAACQ,IAAI,CAACL,OAAO,CAAC;QAChC;MACF;MACA,OAAOH,gBAAgB;IACzB,CAAC,EAAEjG,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,CAAC;IAE1DH,KAAK,EAAEA,CAAA,KACL/C,MAAM,CAAC8B,UAAU,CAAC,WAAUiE,QAAgB,EAAEC,QAA+B;MAC3E,MAAMtD,IAAI,GAAG,OAAOxC,QAAQ,CAACiB,GAAG,CAAC+B,WAAY,CAAC;MAC9C,MAAMoD,UAAU,GAAG,CAAC,OAAO5D,IAAI,CAACmE,iBAAiB,CAAC,UAAUE,kBAAkB,EAAE,EAAE,EAAE,EAAE9D,SAAS,CAAC,EAAE,CAAC,CAGlG;MACD,MAAMgD,gBAAgB,GAAkB,EAAE;MAC1C,MAAMC,SAAS,GAAkB,EAAE;MACnC,KAAK,MAAME,OAAO,IAAIE,UAAU,EAAE;QAChC,IAAIA,UAAU,CAACF,OAAO,CAAC,KAAK,CAAC,EAAE;UAC7BH,gBAAgB,CAACQ,IAAI,CAACL,OAAO,CAAC;QAChC,CAAC,MAAM,IAAIJ,QAAQ,CAACgB,QAAQ,CAACZ,OAAO,CAAC,EAAE;UACrCF,SAAS,CAACO,IAAI,CAACL,OAAO,CAAC;QACzB;MACF;MACA,IAAIF,SAAS,CAACK,MAAM,KAAK,CAAC,EAAE;QAC1B,OAAON,gBAAgB;MACzB;MACA,MAAMf,OAAO,GAAG,CAAC,OAAOxC,IAAI,CAACmE,iBAAiB,CAAC,UAAUI,UAAU,CAACf,SAAS,CAAC,EAAE,EAAE,EAAE,EAAEjD,SAAS,CAAC,EAAE,CAAC,CAGlG;MACD,KAAK,MAAMmD,OAAO,IAAIlB,OAAO,EAAE;QAC7B,IAAIA,OAAO,CAACkB,OAAO,CAAC,KAAK,CAAC,EAAE;UAC1BH,gBAAgB,CAACQ,IAAI,CAACL,OAAO,CAAC;QAChC;MACF;MACA,OAAOH,gBAAgB;IACzB,CAAC,EAAEjG,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,CAAC;IAE1DQ,KAAK,EAAEA,CAAA,KAAM,CAACkB,OAAe,EAAEoB,QAA+B,KAAI;MAChE,MAAMjB,MAAM,GAAGiB,QAAQ,CAACf,GAAG,CAAEmB,OAAO,IAAKnE,GAAG,IAAIiF,aAAa,CAACd,OAAO,CAAC,KAAKc,aAAa,CAACtC,OAAO,CAAC,KAAKb,MAAM,GAAG,CAAC;MAChH,OAAO9B,GAAG;gBACA2B,aAAa;uCACU3B,GAAG,CAACkF,GAAG,CAACpC,MAAM,CAAC;;oGAE8ChB,MAAM,OAAOE,cAAc;;;;;OAKxH,CAACV,IAAI,CACJvD,MAAM,CAACoH,OAAO,CAACC,aAAa,CAACzC,OAAO,EAAEoB,QAAQ,CAAC,CAAC,EAChD/D,GAAG,CAACqF,eAAe,CACpB;IACH,CAAC;IAEDtE,MAAM,EAAEA,CAAA,KAAM,CAAC4B,OAAe,EAAEoB,QAA+B,KAAI;MACjE,MAAMjB,MAAM,GAAGiB,QAAQ,CAACf,GAAG,CAAEmB,OAAO,IAAKnE,GAAG,IAAIiF,aAAa,CAACd,OAAO,CAAC,KAAKc,aAAa,CAACtC,OAAO,CAAC,KAAKb,MAAM,GAAG,CAAC;MAChH,OAAO9B,GAAG;iEACiDA,GAAG,CAACkF,GAAG,CAACpC,MAAM,CAAC;sBAC1DnB,aAAa;;;;0BAITA,aAAa;;2BAEZgB,OAAO;gCACFb,MAAM,uCAAuCE,cAAc;;;wBAGnEW,OAAO,mBAAmBb,MAAM;OACjD,CAACR,IAAI,CACJvD,MAAM,CAACoH,OAAO,CAACC,aAAa,CAACzC,OAAO,EAAEoB,QAAQ,CAAC,CAAC,EAChD/D,GAAG,CAACqF,eAAe,CACpB;IACH;GACD,CAAC;EAEF,MAAMjB,WAAW,GAAG,IAAIF,GAAG,EAAkB;EAC7C,MAAMO,kBAAkB,GAAG,IAAIP,GAAG,EAAkB;EACpD,KAAK,IAAIrF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkB,MAAM,CAACuF,WAAW,CAAChB,MAAM,EAAEzF,CAAC,EAAE,EAAE;IAClD,MAAM0G,KAAK,GAAGxF,MAAM,CAACuF,WAAW,CAACzG,CAAC,CAAC;IACnC,MAAM2G,IAAI,GAAG,CAAC3G,CAAC,GAAG,CAAC,IAAI,OAAO;IAC9B,KAAK,IAAI4G,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI1F,MAAM,CAAC2F,cAAc,EAAED,KAAK,EAAE,EAAE;MAC3D,MAAMtB,OAAO,GAAG/F,OAAO,CAACuB,IAAI,CAAC4F,KAAK,EAAEE,KAAK,CAAC,CAACpD,QAAQ,EAAE;MACrD,MAAMkC,OAAO,GAAGiB,IAAI,GAAGC,KAAK;MAC5BrB,WAAW,CAACjF,GAAG,CAACgF,OAAO,EAAEI,OAAO,CAAC;MACjCE,kBAAkB,CAACtF,GAAG,CAACoF,OAAO,EAAEJ,OAAO,CAAC;IAC1C;EACF;EAEA,MAAMwB,SAAS,GAAG,IAAIzB,GAAG,EAAkB;EAC3C,MAAM0B,gBAAgB,GAAG,IAAI1B,GAAG,EAAkB;EAClD,KAAK,IAAIrF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkB,MAAM,CAACuF,WAAW,CAAChB,MAAM,EAAEzF,CAAC,EAAE,EAAE;IAClD,MAAM0G,KAAK,GAAGxF,MAAM,CAACuF,WAAW,CAACzG,CAAC,CAAC;IACnC,KAAK,IAAI4G,KAAK,GAAG,CAAC,EAAEA,KAAK,IAAI1F,MAAM,CAAC2F,cAAc,EAAED,KAAK,EAAE,EAAE;MAC3D,MAAMtB,OAAO,GAAG/F,OAAO,CAACuB,IAAI,CAAC4F,KAAK,EAAEE,KAAK,CAAC,CAACpD,QAAQ,EAAE;MACrD,MAAMwD,QAAQ,GAAG,GAAG3F,MAAM,IAAIiE,OAAO,EAAE;MACvCwB,SAAS,CAACxG,GAAG,CAACgF,OAAO,EAAE0B,QAAQ,CAAC;MAChCD,gBAAgB,CAACzG,GAAG,CAAC0G,QAAQ,EAAE1B,OAAO,CAAC;IACzC;EACF;EAEA,MAAMU,OAAO,GAAIiB,WAAgC,IAC/CC,KAAK,CAACC,IAAI,CACRF,WAAW,CAACG,OAAO,EAAE,EACrB,CAAC,CAAC1B,OAAO,EAAEJ,OAAO,CAAC,KAAK,wBAAwBI,OAAO,SAASJ,OAAO,GAAG,CAC3E,CAAC+B,IAAI,CAAC,IAAI,CAAC;EAEd,MAAMlB,UAAU,GAAIjB,QAA+B,IACjDA,QAAQ,CAACf,GAAG,CAAEmB,OAAO,IAAK,aAAawB,SAAS,CAACzG,GAAG,CAACiF,OAAO,CAAE,aAAaA,OAAO,GAAG,CAAC,CAAC+B,IAAI,CAAC,IAAI,CAAC;EAEnG,MAAMpB,kBAAkB,GAAGiB,KAAK,CAACC,IAAI,CACnCL,SAAS,CAACM,OAAO,EAAE,EACnB,CAAC,CAAC9B,OAAO,EAAE0B,QAAQ,CAAC,KAAK,iBAAiBA,QAAQ,4BAA4B1B,OAAO,GAAG,CACzF,CAAC+B,IAAI,CAAC,IAAI,CAAC;EAEZ,MAAMd,aAAa,GAAGA,CAACzC,OAAe,EAAEoB,QAA+B,KACrE/D,GAAyB;6BACAA,GAAG,CAAC0B,UAAU,CAAC;wBACpBiB,OAAO;2BACJL,aAAa;wBAChB6D,gBAAgB,CAACpC,QAAQ,CAAC;KAC7C,CAACjB,MAAM,CAACxB,IAAI,CACXvD,MAAM,CAACiF,GAAG,CAAEoD,IAAI,IAAKA,IAAI,CAACpD,GAAG,CAAEqD,GAAG,IAAKA,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAC1D;EAEH,MAAMC,UAAU,GAAGtG,GAAG,CAACM,eAAe,CAAC;IACrCmB,KAAK,EAAEA,CAAA,KAAO8E,CAAS,IAAK,KAAKA,CAAC,GAAG;IACrCxF,MAAM,EAAEA,CAAA,KAAOwF,CAAS,IAAK,IAAIA,CAAC;GACnC,CAAC;EACF,MAAMtB,aAAa,GAAIsB,CAAS,IAAKvG,GAAG,CAAC+B,OAAO,CAACuE,UAAU,CAACC,CAAC,CAAC,CAAC;EAC/D,MAAMJ,gBAAgB,GAAIK,GAA0B,IAAKxG,GAAG,CAAC+B,OAAO,CAAC,IAAIyE,GAAG,CAACxD,GAAG,CAACsD,UAAU,CAAC,CAACJ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;EAE1G,MAAMO,aAAa,GAAGzG,GAAG,CAACM,eAAe,CAAC;IACxCC,EAAE,EAAEA,CAAA,KAAMsD,WAAW;IACrB/C,KAAK,EAAEA,CAAA,KAAM+C,WAAW;IACxBpC,KAAK,EAAEA,CAAA,KAAM,CAACkB,OAAe,EAAEoB,QAA+B,KAC5D/D,GAAG;iBACQ2B,aAAa;4BACFG,MAAM;;0BAERa,OAAO,oBAAoBwD,gBAAgB,CAACpC,QAAQ,CAAC;OACxE,CAACzC,IAAI,CAACqC,sBAAsB,EAAE5F,MAAM,CAACiF,GAAG,CAAEoD,IAAI,IAAKA,IAAI,CAACpD,GAAG,CAAEqD,GAAG,IAAKA,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC,CAAC;IAC3FtF,MAAM,EAAEA,CAAA,KAAM,CAAC4B,OAAe,EAAEoB,QAA+B,KAC7D/D,GAAG;iBACQ2B,aAAa;4BACFG,MAAM;0BACRa,OAAO,oBAAoBwD,gBAAgB,CAACpC,QAAQ,CAAC;;OAExE,CAACzC,IAAI,CAACqC,sBAAsB,EAAE5F,MAAM,CAACiF,GAAG,CAAEoD,IAAI,IAAKA,IAAI,CAACpD,GAAG,CAAEqD,GAAG,IAAKA,GAAG,CAAC,CAAC,CAAW,CAAC,CAAC;GAC3F,CAAC;EAEF,OAAOlI,aAAa,CAACuI,WAAW,CAAC;IAC/BC,UAAU,EAAE3G,GAAG,+BAA+BoB,eAAe,2BAA2BkB,aAAa,EAAE,CAACQ,MAAM,CAACxB,IAAI,CACjHsF,8BAAgB,CAACC,MAAM,EACvB9I,MAAM,CAACiF,GAAG,CAACnF,GAAG,CAACmF,GAAG,CAAC,CAAC,CAACJ,MAAM,EAAEC,OAAO,CAAC,KAAK,CAACiE,MAAM,CAAClE,MAAM,CAAC,EAAEmE,OAAO,CAAClE,OAAO,CAAC,CAAU,CAAC,CAAC,EACvFpD,kBAAkB,CACnB;IAEDuH,QAAQ,EAAEA,CAACrE,OAAO,EAAEC,MAAM,EAAEC,OAAO,KACjCH,YAAY,CAACC,OAAO,EAAEC,MAAM,EAAEC,OAAO,CAAC,CAACvB,IAAI,CACzCvD,MAAM,CAACiF,GAAG,CAAEoD,IAAS,IAAKa,MAAM,CAACb,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7CQ,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;IAEHyH,UAAU,EAAGvE,OAAO,IAClB3C,GAAG,eAAeoB,eAAe,oBAAoBuB,OAAO,wBAAwBL,aAAa,EAAE,CAAChB,IAAI,CACtGvD,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;IAEH2H,eAAe,EAAEA,CAACzE,OAAO,EAAEE,OAAO,KAChC7C,GAAG,UAAUoB,eAAe,kBAAkBmB,aAAa,CAACM,OAAO,CAAC,oBAAoBF,OAAO,EAAE,CAC9FrB,IAAI,CACHvD,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;IAEL4H,OAAO,EAAEA,CAAC1E,OAAO,EAAEoB,QAAQ,KACzBF,WAAW,CAAClB,OAAO,EAAEoB,QAAQ,CAAC,CAACzC,IAAI,CACjCsF,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;IAEHiE,OAAO,EAAEA,CAACf,OAAO,EAAEoB,QAAQ,KACzB/D,GAAG,UAAUoB,eAAe,yBAAyBU,MAAM,oBAAoBa,OAAO,EAAE,CAACrB,IAAI,CAC3F6B,gBAAgB,EAChBY,QAAQ,CAACO,MAAM,GAAG,CAAC,GACjBvG,MAAM,CAACoH,OAAO,CAACsB,aAAa,CAAC9D,OAAO,EAAEoB,QAAQ,CAAC,CAAC,GAChDhG,MAAM,CAACuJ,EAAE,CAAC,EAAE,CAAC,EACfV,8BAAgB,CAACC,MAAM,CACxB;IAEHU,OAAO,EAAEvH,GAAG,CAACM,eAAe,CAAC;MAC3BC,EAAE,EAAEA,CAAA,KACFxC,MAAM,CAAC8B,UAAU,CACf,WAAUiE,QAAQ,EAAEK,OAAO;QACzB,MAAMI,OAAO,GAAGH,WAAW,CAAClF,GAAG,CAACiF,OAAO,CAAE;QACzC,MAAM1D,IAAI,GAAG,OAAOxC,QAAQ,CAACiB,GAAG,CAAC+B,WAAY,CAAC;QAC9C,MAAMsG,OAAO,GAAG9G,IAAI,CAACI,UAAU,CAAC,6BAA6B0D,OAAO,GAAG,EAAE,EAAE,CAAC;QAC5E,MAAMiD,KAAK,GAAG/G,IAAI,CAACmD,aAAa,CAC9B,gHAAgHW,OAAO,EAAE,EACzH,EAAE,CACH;QACD,OAAO,IAAI,EAAE;UACX,OAAOgD,OAAO;UACd,MAAMlD,UAAU,GAAG,OAAOmD,KAAK;UAC/B,IAAInD,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;QAC/B;MACF,CAAC,EACDvG,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,EACpDlD,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;MACHqB,KAAK,EAAEA,CAAA,KACL/C,MAAM,CAAC8B,UAAU,CACf,WAAUiE,QAAQ,EAAEK,OAAO;QACzB,MAAM1D,IAAI,GAAG,OAAOxC,QAAQ,CAACiB,GAAG,CAAC+B,WAAY,CAAC;QAC9C,MAAM4E,QAAQ,GAAGF,SAAS,CAACzG,GAAG,CAACiF,OAAO,CAAE;QACxC,MAAMoD,OAAO,GAAG9G,IAAI,CAACI,UAAU,CAAC,wBAAwBgF,QAAQ,IAAI,EAAE,EAAE,CAAC;QACzE,MAAM2B,KAAK,GAAG/G,IAAI,CAACmD,aAAa,CAC9B,wBAAwBiC,QAAQ,kCAAkC,EAClE,EAAE,CACH;QACD,OAAO,IAAI,EAAE;UACX,OAAO0B,OAAO;UACd,MAAMlD,UAAU,GAAG,OAAOmD,KAAK;UAC/B,IAAInD,UAAU,CAACC,MAAM,KAAK,CAAC,IAAID,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;QACzD;MACF,CAAC,EACDtG,MAAM,CAAC0F,OAAO,CAAC,MAAMxF,QAAQ,CAACyF,OAAO,CAACzC,WAAY,CAAC,CAAC,EACpDlD,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;MACHsB,MAAM,EAAEA,CAAA,KAAM,CAAC4B,OAAO,EAAEwB,OAAO,KAC7BnE,GAAG,eAAe2B,aAAa,oBAAoBgB,OAAO,mBAAmBwB,OAAO,EAAE,CAAC7C,IAAI,CACzFsF,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB;KAEvB,CAAC;IAEFgI,UAAU,EAAEzH,GAAG,CAACM,eAAe,CAAC;MAC9BC,EAAE,EAAEA,CAAA,KAAOuD,QAAQ,IACjB9D,GAAG,iCAAiC,CAACsB,IAAI,CACvC6B,gBAAgB,EAChBpF,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;MACHqB,KAAK,EAAEA,CAAA,KAAOgD,QAAQ,IACpB9D,GAAG,4BAA4B,CAACsB,IAAI,CAClC6B,gBAAgB,EAChBpF,MAAM,CAACoJ,MAAM,EACbP,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB,CACnB;MACHsB,MAAM,EAAEA,CAAA,KAAO4B,OAAO,IACpB3C,GAAG,eAAe2B,aAAa,oBAAoBgB,OAAO,EAAE,CAACrB,IAAI,CAC/DsF,8BAAgB,CAACC,MAAM,EACvBpH,kBAAkB;KAEvB;GACF,CAAC;AACJ,CAAC,EAAEA,kBAAkB,CAAC;AAEtB;;;;AAIO,MAAMiI,KAAK,GAAA9H,OAAA,CAAA8H,KAAA,gBAId1J,KAAK,CAAC2J,MAAM,CAACxJ,aAAa,CAACA,aAAa,CAAC,cAACwB,IAAI,CAAC,EAAE,CAAC,CAAC;AAEvD;;;;AAIO,MAAMiI,SAAS,GAAI9H,OAEzB,IACC9B,KAAK,CAAC2J,MAAM,CAACxJ,aAAa,CAACA,aAAa,CAAC,CAACwB,IAAI,CAACG,OAAO,CAAC,CAAC;AAAAF,OAAA,CAAAgI,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Duration","Effect","Layer","Resource","_ClusterError","RunnerStorage","ShardId","ShardingConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","PersistenceError","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","timeoutOption","seconds","check","timeout","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sharding.d.ts","sourceRoot":"","sources":["../../src/Sharding.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/SqlRunnerStorage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAIpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD;;;GAGG;AACH,eAAO,MAAM,IAAI;sBACG,MAAM,GAAG,SAAS;;;;;;;;;;gGA8ehB,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACE,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA"}
1
+ {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/SqlRunnerStorage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAIpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD;;;GAGG;AACH,eAAO,MAAM,IAAI;sBACG,MAAM,GAAG,SAAS;;;;;;;;;;gGAgfhB,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACE,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA"}
@@ -7,6 +7,7 @@ import * as Effect from "effect/Effect";
7
7
  import * as Either from "effect/Either";
8
8
  import * as Equal from "effect/Equal";
9
9
  import * as Fiber from "effect/Fiber";
10
+ import * as FiberHandle from "effect/FiberHandle";
10
11
  import * as FiberMap from "effect/FiberMap";
11
12
  import * as FiberRef from "effect/FiberRef";
12
13
  import * as FiberSet from "effect/FiberSet";
@@ -116,8 +117,13 @@ const make = /*#__PURE__*/Effect.gen(function* () {
116
117
  if (MutableHashSet.size(unacquiredShards) === 0) {
117
118
  continue;
118
119
  }
119
- const acquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards);
120
- yield* Effect.ignore(storage.resetShards(acquired));
120
+ const oacquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards).pipe(Effect.timeoutOption(config.shardLockRefreshInterval));
121
+ if (Option.isNone(oacquired)) {
122
+ activeShardsLatch.unsafeOpen();
123
+ continue;
124
+ }
125
+ const acquired = oacquired.value;
126
+ yield* storage.resetShards(acquired).pipe(Effect.ignore, Effect.timeoutOption(config.shardLockRefreshInterval));
121
127
  for (const shardId of acquired) {
122
128
  if (MutableHashSet.has(releasingShards, shardId) || !MutableHashSet.has(selfShards, shardId)) {
123
129
  continue;
@@ -159,8 +165,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
159
165
  times: 5,
160
166
  schedule: Schedule.spaced(50)
161
167
  }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.repeat(Schedule.fixed(config.shardLockRefreshInterval)), Effect.forever, Effect.forkIn(shardingScope));
162
- const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
163
- const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
168
+ const releaseShardsHandle = yield* FiberHandle.make();
169
+ const releaseShards = Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
164
170
  concurrency: "unbounded",
165
171
  discard: true
166
172
  }).pipe(Effect.andThen(runnerStorage.release(selfAddress, shardId)), Effect.annotateLogs({
@@ -171,7 +177,11 @@ const make = /*#__PURE__*/Effect.gen(function* () {
171
177
  })), {
172
178
  concurrency: "unbounded",
173
179
  discard: true
174
- })));
180
+ })).pipe(Effect.repeat({
181
+ until: () => MutableHashSet.size(releasingShards) === 0
182
+ }), FiberHandle.run(releaseShardsHandle, {
183
+ onlyIfMissing: true
184
+ }));
175
185
  // open the shard latch every poll interval
176
186
  yield* activeShardsLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope));
177
187
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","constant","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","Uninterruptible","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Tag","gen","config","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","status","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","set","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","forClient","isTransientInterrupt","interruptors","some","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","running","unsafeHas","shouldBeRunning","reaper","entityManagerLatches","registerEntity","build","sharding","fiberIdWith","preemptiveShutdown","shutdown","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberHandle","FiberMap","FiberRef","FiberSet","constant","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","Uninterruptible","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Tag","gen","config","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","forever","releaseShardsHandle","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","until","run","onlyIfMissing","delay","sync","clear","openStorageReadLatch","storageReadLock","unsafeMakeSemaphore","withStorageReadLock","withPermits","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","status","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","set","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","maybeRunner","runnerIsLocal","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","forClient","isTransientInterrupt","interruptors","some","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","shardGroup","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","running","unsafeHas","shouldBeRunning","reaper","entityManagerLatches","registerEntity","build","sharding","fiberIdWith","preemptiveShutdown","shutdown","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -198,7 +198,8 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
198
198
  if (toAcquire.size === 0) {
199
199
  return acquiredShardIds;
200
200
  }
201
- const results = (yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined))[0];
201
+ const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
202
+ const results = rows[0];
202
203
  for (const shardId in results) {
203
204
  if (results[shardId]) {
204
205
  acquiredShardIds.push(shardId);
@@ -325,14 +326,14 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
325
326
  pg: () => Effect.fnUntraced(function* (_address, shardId) {
326
327
  const lockNum = lockNumbers.get(shardId);
327
328
  const conn = yield* Resource.get(lockConnRef);
328
- const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
329
+ const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []).pipe(Effect.timeoutOption(Duration.seconds(5)));
329
330
  const check = conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
330
331
  while (true) {
331
332
  yield* release;
332
333
  const takenLocks = yield* check;
333
334
  if (takenLocks.length === 0) return;
334
335
  }
335
- }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, PersistenceError.refail, withTracerDisabled),
336
+ }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, PersistenceError.refail, withTracerDisabled),
336
337
  mysql: () => Effect.fnUntraced(function* (_address, shardId) {
337
338
  const conn = yield* Resource.get(lockConnRef);
338
339
  const lockName = lockNames.get(shardId);
@@ -343,7 +344,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
343
344
  const takenLocks = yield* check;
344
345
  if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return;
345
346
  }
346
- }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, PersistenceError.refail, withTracerDisabled),
347
+ }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, PersistenceError.refail, withTracerDisabled),
347
348
  orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled)
348
349
  }),
349
350
  releaseAll: sql.onDialectOrElse({
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","Arr","Duration","Effect","Layer","Resource","PersistenceError","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","get","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","rows","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","check","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","Arr","Duration","Effect","Layer","Resource","PersistenceError","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","get","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","timeoutOption","seconds","check","timeout","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.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.52.3",
3
+ "version": "0.52.4",
4
4
  "description": "Unified interfaces for common cluster-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -12,10 +12,10 @@
12
12
  "homepage": "https://effect.website",
13
13
  "peerDependencies": {
14
14
  "@effect/platform": "^0.93.0",
15
- "@effect/sql": "^0.48.0",
16
- "@effect/workflow": "^0.12.2",
17
15
  "@effect/rpc": "^0.72.1",
18
- "effect": "^3.19.1"
16
+ "@effect/sql": "^0.48.0",
17
+ "effect": "^3.19.1",
18
+ "@effect/workflow": "^0.12.2"
19
19
  },
20
20
  "publishConfig": {
21
21
  "provenance": true
package/src/Sharding.ts CHANGED
@@ -13,6 +13,7 @@ import * as Either from "effect/Either"
13
13
  import * as Equal from "effect/Equal"
14
14
  import type * as Exit from "effect/Exit"
15
15
  import * as Fiber from "effect/Fiber"
16
+ import * as FiberHandle from "effect/FiberHandle"
16
17
  import * as FiberMap from "effect/FiberMap"
17
18
  import * as FiberRef from "effect/FiberRef"
18
19
  import * as FiberSet from "effect/FiberSet"
@@ -281,8 +282,19 @@ const make = Effect.gen(function*() {
281
282
  continue
282
283
  }
283
284
 
284
- const acquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards)
285
- yield* Effect.ignore(storage.resetShards(acquired))
285
+ const oacquired = yield* runnerStorage.acquire(selfAddress, unacquiredShards).pipe(
286
+ Effect.timeoutOption(config.shardLockRefreshInterval)
287
+ )
288
+ if (Option.isNone(oacquired)) {
289
+ activeShardsLatch.unsafeOpen()
290
+ continue
291
+ }
292
+
293
+ const acquired = oacquired.value
294
+ yield* storage.resetShards(acquired).pipe(
295
+ Effect.ignore,
296
+ Effect.timeoutOption(config.shardLockRefreshInterval)
297
+ )
286
298
  for (const shardId of acquired) {
287
299
  if (MutableHashSet.has(releasingShards, shardId) || !MutableHashSet.has(selfShards, shardId)) {
288
300
  continue
@@ -350,27 +362,28 @@ const make = Effect.gen(function*() {
350
362
  Effect.forkIn(shardingScope)
351
363
  )
352
364
 
353
- const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1)
354
- const releaseShards = releaseShardsLock(
355
- Effect.suspend(() =>
356
- Effect.forEach(
357
- releasingShards,
358
- (shardId) =>
359
- Effect.forEach(
360
- entityManagers.values(),
361
- (state) => state.manager.interruptShard(shardId),
362
- { concurrency: "unbounded", discard: true }
363
- ).pipe(
364
- Effect.andThen(runnerStorage.release(selfAddress, shardId)),
365
- Effect.annotateLogs({ runner: selfAddress }),
366
- Effect.flatMap(() => {
367
- MutableHashSet.remove(releasingShards, shardId)
368
- return storage.unregisterShardReplyHandlers(shardId)
369
- })
370
- ),
371
- { concurrency: "unbounded", discard: true }
372
- )
365
+ const releaseShardsHandle = yield* FiberHandle.make()
366
+ const releaseShards = Effect.suspend(() =>
367
+ Effect.forEach(
368
+ releasingShards,
369
+ (shardId) =>
370
+ Effect.forEach(
371
+ entityManagers.values(),
372
+ (state) => state.manager.interruptShard(shardId),
373
+ { concurrency: "unbounded", discard: true }
374
+ ).pipe(
375
+ Effect.andThen(runnerStorage.release(selfAddress, shardId)),
376
+ Effect.annotateLogs({ runner: selfAddress }),
377
+ Effect.flatMap(() => {
378
+ MutableHashSet.remove(releasingShards, shardId)
379
+ return storage.unregisterShardReplyHandlers(shardId)
380
+ })
381
+ ),
382
+ { concurrency: "unbounded", discard: true }
373
383
  )
384
+ ).pipe(
385
+ Effect.repeat({ until: () => MutableHashSet.size(releasingShards) === 0 }),
386
+ FiberHandle.run(releaseShardsHandle, { onlyIfMissing: true })
374
387
  )
375
388
 
376
389
  // open the shard latch every poll interval
@@ -242,10 +242,8 @@ export const make = Effect.fnUntraced(function*(options: {
242
242
  if (toAcquire.size === 0) {
243
243
  return acquiredShardIds
244
244
  }
245
- const results = (yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined))[0] as Record<
246
- string,
247
- boolean
248
- >
245
+ const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined)
246
+ const results = rows[0] as Record<string, boolean>
249
247
  for (const shardId in results) {
250
248
  if (results[shardId]) {
251
249
  acquiredShardIds.push(shardId)
@@ -449,7 +447,9 @@ export const make = Effect.fnUntraced(function*(options: {
449
447
  function*(_address, shardId) {
450
448
  const lockNum = lockNumbers.get(shardId)!
451
449
  const conn = yield* Resource.get(lockConnRef!)
452
- const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, [])
450
+ const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []).pipe(
451
+ Effect.timeoutOption(Duration.seconds(5))
452
+ )
453
453
  const check = conn.executeValues(
454
454
  `SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`,
455
455
  []
@@ -460,6 +460,7 @@ export const make = Effect.fnUntraced(function*(options: {
460
460
  if (takenLocks.length === 0) return
461
461
  }
462
462
  },
463
+ Effect.timeout(config.shardLockExpiration),
463
464
  Effect.onError(() => Resource.refresh(lockConnRef!)),
464
465
  Effect.asVoid,
465
466
  PersistenceError.refail,
@@ -481,6 +482,7 @@ export const make = Effect.fnUntraced(function*(options: {
481
482
  if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return
482
483
  }
483
484
  },
485
+ Effect.timeout(config.shardLockExpiration),
484
486
  Effect.onError(() => Resource.refresh(lockConnRef!)),
485
487
  Effect.asVoid,
486
488
  PersistenceError.refail,