@effect/cluster 0.52.4 → 0.52.5

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.
@@ -88,6 +88,10 @@ const make = /*#__PURE__*/Effect.gen(function* () {
88
88
  function isEntityOnLocalShards(address) {
89
89
  return MutableHashSet.has(acquiredShards, address.shardId);
90
90
  }
91
+ yield* Scope.addFinalizer(shardingScope, Effect.logDebug("Shutdown complete").pipe(Effect.annotateLogs({
92
+ package: "@effect/cluster",
93
+ module: "Sharding"
94
+ })));
91
95
  // --- Shard acquisition ---
92
96
  //
93
97
  // Responsible for acquiring and releasing shards from RunnerStorage.
@@ -101,6 +105,28 @@ const make = /*#__PURE__*/Effect.gen(function* () {
101
105
  // the locks expire over time, so if this fails we ignore it
102
106
  return Effect.ignore(runnerStorage.releaseAll(selfAddress));
103
107
  });
108
+ const releaseShardsHandle = yield* FiberHandle.make();
109
+ const releaseShards = Effect.suspend(function loop() {
110
+ return Effect.flatMap(Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.status === "closed" ? Effect.void : state.manager.interruptShard(shardId), {
111
+ concurrency: "unbounded",
112
+ discard: true
113
+ }).pipe(Effect.andThen(runnerStorage.release(selfAddress, shardId)), Effect.annotateLogs({
114
+ runner: selfAddress
115
+ }), Effect.flatMap(() => {
116
+ MutableHashSet.remove(releasingShards, shardId);
117
+ return storage.unregisterShardReplyHandlers(shardId);
118
+ })), {
119
+ concurrency: "unbounded",
120
+ discard: true
121
+ }), () => {
122
+ if (MutableHashSet.size(releasingShards) === 0) {
123
+ return Effect.void;
124
+ }
125
+ return loop();
126
+ });
127
+ }).pipe(FiberHandle.run(releaseShardsHandle, {
128
+ onlyIfMissing: true
129
+ }));
104
130
  yield* Effect.gen(function* () {
105
131
  activeShardsLatch.unsafeOpen();
106
132
  while (true) {
@@ -152,7 +178,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
152
178
  module: "Sharding",
153
179
  fiber: "Shard acquisition loop",
154
180
  runner: selfAddress
155
- }), Effect.forkIn(shardingScope));
181
+ }), Effect.forkIn(shardingScope), Effect.interruptible);
156
182
  // refresh the shard locks every `shardLockRefreshInterval`
157
183
  yield* Effect.suspend(() => runnerStorage.refresh(selfAddress, [...acquiredShards, ...releasingShards])).pipe(Effect.flatMap(acquired => {
158
184
  for (const shardId of acquiredShards) {
@@ -172,26 +198,9 @@ const make = /*#__PURE__*/Effect.gen(function* () {
172
198
  }), Effect.retry({
173
199
  times: 5,
174
200
  schedule: Schedule.spaced(50)
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));
176
- const releaseShardsHandle = yield* FiberHandle.make();
177
- const releaseShards = Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
178
- concurrency: "unbounded",
179
- discard: true
180
- }).pipe(Effect.andThen(runnerStorage.release(selfAddress, shardId)), Effect.annotateLogs({
181
- runner: selfAddress
182
- }), Effect.flatMap(() => {
183
- MutableHashSet.remove(releasingShards, shardId);
184
- return storage.unregisterShardReplyHandlers(shardId);
185
- })), {
186
- concurrency: "unbounded",
187
- discard: true
188
- })).pipe(Effect.repeat({
189
- until: () => MutableHashSet.size(releasingShards) === 0
190
- }), FiberHandle.run(releaseShardsHandle, {
191
- onlyIfMissing: true
192
- }));
201
+ }), 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), Effect.interruptible);
193
202
  // open the shard latch every poll interval
194
- yield* activeShardsLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope));
203
+ yield* activeShardsLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope), Effect.interruptible);
195
204
  }
196
205
  const clearSelfShards = Effect.sync(() => {
197
206
  MutableHashSet.clear(selfShards);
@@ -331,9 +340,9 @@ const make = /*#__PURE__*/Effect.gen(function* () {
331
340
  module: "Sharding",
332
341
  fiber: "Storage read loop",
333
342
  runner: selfAddress
334
- }), Effect.withUnhandledErrorLogLevel(Option.none()), Effect.forkIn(shardingScope));
343
+ }), Effect.withUnhandledErrorLogLevel(Option.none()), Effect.forkIn(shardingScope), Effect.interruptible);
335
344
  // open the storage latch every poll interval
336
- yield* storageReadLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope));
345
+ yield* storageReadLatch.open.pipe(Effect.delay(config.entityMessagePollInterval), Effect.forever, Effect.forkIn(shardingScope), Effect.interruptible);
337
346
  // Resume unprocessed messages for entities that reached a full mailbox.
338
347
  const entityResumptionState = MutableHashMap.empty();
339
348
  const resumeEntityFromStorage = lastReceivedMessage => {
@@ -418,7 +427,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
418
427
  fiber: "Resuming unprocessed messages",
419
428
  runner: selfAddress,
420
429
  entity: address
421
- }), (effect, address) => Effect.ensuring(effect, Effect.sync(() => MutableHashMap.remove(entityResumptionState, address))), Effect.withUnhandledErrorLogLevel(Option.none()), Effect.forkIn(shardingScope));
430
+ }), (effect, address) => Effect.ensuring(effect, Effect.sync(() => MutableHashMap.remove(entityResumptionState, address))), Effect.withUnhandledErrorLogLevel(Option.none()), Effect.forkIn(shardingScope), Effect.interruptible);
422
431
  }
423
432
  // --- Sending messages ---
424
433
  const sendLocal = message => Effect.suspend(function loop() {
@@ -648,7 +657,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
648
657
  module: "Sharding",
649
658
  fiber: "RunnerStorage sync",
650
659
  runner: config.runnerAddress
651
- }), Effect.forkIn(shardingScope));
660
+ }), Effect.forkIn(shardingScope), Effect.interruptible);
652
661
  const clientRequests = new Map();
653
662
  const clients = yield* _resourceMap.ResourceMap.make(Effect.fnUntraced(function* (entity) {
654
663
  const client = yield* RpcClient.makeNoSerialization(entity.protocol, {
@@ -1 +1 @@
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":[]}
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","addFinalizer","logDebug","annotateLogs","package","module","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsHandle","releaseShards","suspend","loop","flatMap","forEach","values","state","status","void","manager","interruptShard","concurrency","discard","andThen","release","runner","remove","unregisterShardReplyHandlers","size","run","onlyIfMissing","unsafeOpen","await","unsafeClose","add","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","fiber","interruptible","refresh","includes","retry","times","schedule","logError","clearSelfShards","fixed","forever","delay","sync","clear","openStorageReadLatch","constant","storageReadLock","unsafeMakeSemaphore","withStorageReadLock","withPermits","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","entityType","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","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","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":[]}
@@ -334,14 +334,14 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
334
334
  pg: () => Effect.fnUntraced(function* (_address, shardId) {
335
335
  const lockNum = lockNumbers.get(shardId);
336
336
  const conn = yield* Resource.get(lockConnRef);
337
- const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []).pipe(Effect.timeoutOption(Duration.seconds(5)));
337
+ const release = conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
338
338
  const check = conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
339
339
  while (true) {
340
340
  yield* release;
341
341
  const takenLocks = yield* check;
342
342
  if (takenLocks.length === 0) return;
343
343
  }
344
- }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
344
+ }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
345
345
  mysql: () => Effect.fnUntraced(function* (_address, shardId) {
346
346
  const conn = yield* Resource.get(lockConnRef);
347
347
  const lockName = lockNames.get(shardId);
@@ -352,7 +352,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
352
352
  const takenLocks = yield* check;
353
353
  if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return;
354
354
  }
355
- }, Effect.timeout(config.shardLockExpiration), Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
355
+ }, Effect.onError(() => Resource.refresh(lockConnRef)), Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
356
356
  orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled)
357
357
  }),
358
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","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
+ {"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","check","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -61,7 +61,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
61
61
  yield* Scope.addFinalizerExit(scope, () => {
62
62
  serverCloseLatches.get(address)?.unsafeOpen();
63
63
  serverCloseLatches.delete(address);
64
- return Effect.ignore(options.storage.resetAddress(address));
64
+ return Effect.void;
65
65
  });
66
66
  const activeRequests = new Map();
67
67
  let defectRequestIds = [];
@@ -1 +1 @@
1
- {"version":3,"file":"entityManager.js","names":["_RpcMessage","require","RpcServer","_interopRequireWildcard","Arr","Cause","Context","Duration","Effect","Equal","Exit","FiberRef","_Function","HashMap","Metric","Option","Schedule","Schema","Scope","_ClusterError","ClusterMetrics","_ClusterSchema","_Entity","Envelope","Message","MessageStorage","Reply","_ShardingConfig","Snowflake","_entityReaper","_interruptors","_resourceMap","_resourceRef","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","fnUntraced","entity","buildHandlers","options","config","ShardingConfig","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","retryDriver","driver","defectRetryPolicy","andThen","defaultRetryPolicy","activeServers","Map","serverCloseLatches","processedRequestIds","Set","entities","ResourceMap","address","sharding","hasShardId","shardId","EntityNotAssignedToRunner","endLatch","makeLatch","addFinalizerExit","unsafeOpen","delete","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","ResourceRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","CurrentAddress","CurrentRunnerAddress","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","_tag","request","requestId","void","sentReply","rpc","annotations","Persisted","isFailure","exit","isInterrupted","Uninterruptible","forServer","write","message","envelope","id","RequestId","tag","payload","Request","lastSentChunk","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","unsafeNext","flatMap","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","extend","addFinalizer","sync","length","cause","effect","unsafeRebuild","Array","keys","logError","next","annotateLogs","module","runner","catchAllCause","clientId","current","await","value","withFiberRuntime","fiber","unsafeMakeLatch","internalInterruptors","interruptible","timeoutOption","entityTerminationTimeout","reaper","EntityReaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","tagged","unsafeUpdate","BigInt","sleep","forever","sendLocal","entry","fail","AlreadyProcessingMessage","envelopeId","requests","dieMessage","MailboxFull","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","loop","toAwait","forEach","symbol","push","removeIgnore","latch","all","discard","decodeMessage","decode","makeMessageSchema","identity","isProcessingFor","excludeReplies","undefined","clearProcessed","clear","send","matchEffect","onFailure","MalformedMessage","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","exponential","union","spaced","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"entityManager.js","names":["_RpcMessage","require","RpcServer","_interopRequireWildcard","Arr","Cause","Context","Duration","Effect","Equal","Exit","FiberRef","_Function","HashMap","Metric","Option","Schedule","Schema","Scope","_ClusterError","ClusterMetrics","_ClusterSchema","_Entity","Envelope","Message","MessageStorage","Reply","_ShardingConfig","Snowflake","_entityReaper","_interruptors","_resourceMap","_resourceRef","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","fnUntraced","entity","buildHandlers","options","config","ShardingConfig","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","retryDriver","driver","defectRetryPolicy","andThen","defaultRetryPolicy","activeServers","Map","serverCloseLatches","processedRequestIds","Set","entities","ResourceMap","address","sharding","hasShardId","shardId","EntityNotAssignedToRunner","endLatch","makeLatch","addFinalizerExit","unsafeOpen","delete","void","activeRequests","defectRequestIds","writeRef","ResourceRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","CurrentAddress","CurrentRunnerAddress","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","_tag","request","requestId","sentReply","rpc","annotations","Persisted","isFailure","exit","isInterrupted","Uninterruptible","forServer","write","message","envelope","id","RequestId","tag","payload","Request","lastSentChunk","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","unsafeNext","flatMap","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","extend","addFinalizer","sync","length","cause","effect","unsafeRebuild","Array","keys","logError","ignore","next","annotateLogs","module","runner","catchAllCause","clientId","current","await","value","withFiberRuntime","fiber","unsafeMakeLatch","internalInterruptors","interruptible","timeoutOption","entityTerminationTimeout","reaper","EntityReaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","tagged","unsafeUpdate","BigInt","sleep","forever","sendLocal","entry","fail","AlreadyProcessingMessage","envelopeId","requests","dieMessage","MailboxFull","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","loop","toAwait","forEach","symbol","push","removeIgnore","latch","all","discard","decodeMessage","decode","makeMessageSchema","identity","isProcessingFor","excludeReplies","undefined","clearProcessed","clear","send","matchEffect","onFailure","MalformedMessage","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","exponential","union","spaced","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}