@effect/cluster 0.52.6 → 0.52.8

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.
@@ -152,10 +152,22 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
152
152
  yield* sharding.pollStorage;
153
153
  });
154
154
  const sendResumeParent = Effect.fnUntraced(function* (options) {
155
- const client = (yield* RcMap.get(clientsPartial, options.workflowName))(options.executionId);
156
- return yield* client.resume(void 0, {
157
- discard: true
155
+ const requestId = yield* requestIdFor({
156
+ workflow: workflows.get(options.workflowName),
157
+ entityType: `Workflow/${options.workflowName}`,
158
+ executionId: options.executionId,
159
+ tag: "resume",
160
+ id: ""
158
161
  });
162
+ if (Option.isNone(requestId)) {
163
+ const client = (yield* RcMap.get(clientsPartial, options.workflowName))(options.executionId);
164
+ return yield* client.resume({}, {
165
+ discard: true
166
+ });
167
+ }
168
+ const reply = yield* replyForRequestId(requestId.value);
169
+ if (Option.isNone(reply)) return;
170
+ yield* sharding.reset(requestId.value);
159
171
  }, Effect.scoped);
160
172
  return _WorkflowEngine.WorkflowEngine.of({
161
173
  register(workflow, execute) {
@@ -423,7 +435,10 @@ const DeferredRpc = /*#__PURE__*/Rpc.make("deferred", {
423
435
  }) => name,
424
436
  success: ExitUnknown
425
437
  }).annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true);
426
- const ResumeRpc = /*#__PURE__*/Rpc.make("resume").annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true);
438
+ const ResumeRpc = /*#__PURE__*/Rpc.make("resume", {
439
+ payload: {},
440
+ primaryKey: () => ""
441
+ }).annotate(ClusterSchema.Persisted, true).annotate(ClusterSchema.Uninterruptible, true);
427
442
  const makePartialWorkflowEntity = workflowName => Entity.make(`Workflow/${workflowName}`, [DeferredRpc, ResumeRpc, ActivityRpc]);
428
443
  const activityPrimaryKey = (activity, attempt) => `${activity}/${attempt}`;
429
444
  class ClockPayload extends /*#__PURE__*/Schema.Class(`Workflow/DurableClock/Run`)({
@@ -1 +1 @@
1
- {"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","RpcServer","_workflow","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Cause","Context","DateTime","Duration","Effect","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","_MessageStorage","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","name","makeWorkflowEntity","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","EntityId","address","EntityAddress","entityType","EntityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","clearClock","clockAddress","type","clearAddress","resume","maybeReply","maybeSuspended","exit","pollStorage","sendResumeParent","discard","scoped","WorkflowEngine","of","register","execute","engine","suspend","registerEntity","CurrentAddress","run","request","instance","WorkflowInstance","initial","payload","parent","payloadParentKey","payloadSchema","ensuring","suspended","ensureSuccess","void","deferredResult","InterruptSignal","flatMap","maybeResult","interrupted","zipRight","ignore","withFiberRuntime","fiber","interruptible","interrupt","intoResult","provideService","activityId","delete","entry","latch","unsafeMakeLatch","await","contextMap","runtime","context","unsafeMap","CurrentAttempt","key","unsafeMake","fiberRefs","runtimeFlags","defaultRuntimeFlags","executeEncoded","provide","catchAllCause","cause","interruptors","ids","Array","from","flat","includes","fiberIdClientInterrupt","add","succeed","Suspended","failCause","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","undefined","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","activityExecute","annotateCurrentSpan","release","result","tap","scheduleClock","now","clock","wakeUp","addDuration","duration","retryPolicy","union","spaced","effect","sandbox","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","annotate","Persisted","Uninterruptible","fields","optional","Struct","successSchema","errorSchema","DeferredRpc","ResumeRpc","annotateContext","ExitUnknown","encodedSchema","Exit","failure","defect","Defect","ClockPayload","Class","DateTimeUtcFromNumber","symbol","ClockEntityLayer","toLayer","zero","DurableDeferred","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ClusterWorkflowEngine.js","names":["Rpc","_interopRequireWildcard","require","RpcServer","_workflow","Activity","DurableClock","Workflow","_WorkflowEngine","Arr","Cause","Context","DateTime","Duration","Effect","Fiber","FiberId","Layer","Option","PrimaryKey","RcMap","Runtime","Schedule","Schema","ClusterSchema","DeliverAt","Entity","_EntityAddress","_EntityId","_EntityType","_MessageStorage","Sharding","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","exports","gen","sharding","storage","MessageStorage","workflows","Map","entities","partialEntities","ensureEntity","workflow","entity","name","makeWorkflowEntity","ensurePartialEntity","workflowName","makePartialWorkflowEntity","activities","interruptedActivities","Set","activityLatches","clients","lookup","fnUntraced","dieMessage","client","idleTimeToLive","clientsPartial","clockClient","ClockEntity","requestIdFor","options","shardGroup","annotations","ShardGroup","executionId","entityId","EntityId","address","EntityAddress","entityType","EntityType","shardId","getShardId","requestIdForPrimaryKey","tag","id","replyForRequestId","requestId","replies","repliesForUnfiltered","last","pipe","filter","reply","_tag","map","requestReply","isNone","none","value","resetActivityAttempt","activityPrimaryKey","activity","attempt","reset","retry","times","schedule","exponential","orDie","clearClock","clockAddress","type","clearAddress","resume","maybeReply","maybeSuspended","exit","pollStorage","sendResumeParent","discard","scoped","WorkflowEngine","of","register","execute","engine","suspend","registerEntity","CurrentAddress","run","request","instance","WorkflowInstance","initial","payload","parent","payloadParentKey","payloadSchema","ensuring","suspended","ensureSuccess","void","deferredResult","InterruptSignal","flatMap","maybeResult","interrupted","zipRight","ignore","withFiberRuntime","fiber","interruptible","interrupt","intoResult","provideService","activityId","delete","entry","latch","unsafeMakeLatch","await","contextMap","runtime","context","unsafeMap","CurrentAttempt","key","unsafeMake","fiberRefs","runtimeFlags","defaultRuntimeFlags","executeEncoded","provide","catchAllCause","cause","interruptors","ids","Array","from","flat","includes","fiberIdClientInterrupt","add","succeed","Suspended","failCause","sync","wrap","fork","uninterruptible","deferred","poll","exitSchema","protocol","requests","oreply","undefined","decode","nonSuspendedReply","isSome","deferredDone","deferredName","while","activityExecute","annotateCurrentSpan","release","result","tap","scheduleClock","now","clock","wakeUp","addDuration","duration","retryPolicy","union","spaced","effect","sandbox","ActivityRpc","String","Number","primaryKey","success","Result","Unknown","error","annotate","Persisted","Uninterruptible","fields","optional","Struct","successSchema","errorSchema","DeferredRpc","ResumeRpc","annotateContext","ExitUnknown","encodedSchema","Exit","failure","defect","Defect","ClockPayload","Class","DateTimeUtcFromNumber","symbol","ClockEntityLayer","toLayer","zero","DurableDeferred","layer","provideMerge"],"sources":["../../src/ClusterWorkflowEngine.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -38,6 +38,7 @@ var _EntityId = require("./EntityId.js");
38
38
  var Envelope = _interopRequireWildcard(require("./Envelope.js"));
39
39
  var EntityManager = _interopRequireWildcard(require("./internal/entityManager.js"));
40
40
  var _entityReaper = require("./internal/entityReaper.js");
41
+ var _fiber = require("./internal/fiber.js");
41
42
  var _hash = require("./internal/hash.js");
42
43
  var _interruptors = require("./internal/interruptors.js");
43
44
  var _resourceMap = require("./internal/resourceMap.js");
@@ -107,34 +108,27 @@ const make = /*#__PURE__*/Effect.gen(function* () {
107
108
  });
108
109
  const releaseShardsMap = yield* FiberMap.make();
109
110
  const releaseShard = Effect.fnUntraced(function* (shardId) {
110
- yield* Effect.forEach(entityManagers.values(), state => state.status === "closed" ? Effect.void : state.manager.interruptShard(shardId).pipe(Effect.withSpan("EntityManager.interruptShard", {
111
- captureStackTrace: false,
112
- attributes: {
113
- entityType: state.entity.type
114
- }
115
- })), {
116
- concurrency: "unbounded",
117
- discard: true
118
- }).pipe(Effect.timeout(config.entityTerminationTimeout));
111
+ const fibers = Arr.empty();
112
+ for (const state of entityManagers.values()) {
113
+ if (state.status === "closed") continue;
114
+ fibers.push(yield* Effect.fork(state.manager.interruptShard(shardId)));
115
+ }
116
+ yield* (0, _fiber.joinAllDiscard)(fibers);
119
117
  yield* runnerStorage.release(selfAddress, shardId);
120
118
  MutableHashSet.remove(releasingShards, shardId);
121
119
  yield* storage.unregisterShardReplyHandlers(shardId);
122
- }, Effect.sandbox, Effect.tapError(cause => Effect.logDebug(`Could not release shard, retrying`, cause)), Effect.eventually, (effect, shardId) => effect.pipe(Effect.annotateLogs({
120
+ }, Effect.sandbox, (effect, shardId) => effect.pipe(Effect.tapError(cause => Effect.logDebug(`Could not release shard, retrying`, cause).pipe(Effect.annotateLogs({
123
121
  package: "@effect/cluster",
124
122
  module: "Sharding",
125
123
  fiber: "releaseShard",
126
124
  runner: selfAddress,
127
125
  shardId
128
- }), Effect.withSpan("Sharding.releaseShard", {
129
- captureStackTrace: false
130
- }), Effect.annotateSpans({
131
- shardId,
132
- runner: selfAddress
133
- }), FiberMap.run(releaseShardsMap, shardId, {
126
+ }))), Effect.eventually, FiberMap.run(releaseShardsMap, shardId, {
134
127
  onlyIfMissing: true
135
128
  })));
136
129
  const releaseShards = Effect.gen(function* () {
137
130
  for (const shardId of releasingShards) {
131
+ if (FiberMap.unsafeHas(releaseShardsMap, shardId)) continue;
138
132
  yield* releaseShard(shardId);
139
133
  }
140
134
  });
@@ -757,8 +751,8 @@ const make = /*#__PURE__*/Effect.gen(function* () {
757
751
  return Effect.void;
758
752
  }
759
753
  });
760
- yield* Scope.addFinalizer(yield* Effect.scope, Effect.withFiberRuntime(fiber => {
761
- _interruptors.internalInterruptors.add(fiber.id());
754
+ yield* Scope.addFinalizer(yield* Effect.scope, Effect.fiberIdWith(fiberId => {
755
+ _interruptors.internalInterruptors.add(fiberId);
762
756
  return Effect.void;
763
757
  }));
764
758
  return entityId => {
@@ -958,8 +952,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
958
952
  module: "Sharding"
959
953
  }));
960
954
  }
961
- const fiberId = yield* Effect.fiberId;
962
- _interruptors.internalInterruptors.add(fiberId);
955
+ _interruptors.internalInterruptors.add(yield* Effect.fiberId);
963
956
  if (isShutdown.current) return;
964
957
  MutableRef.set(isShutdown, true);
965
958
  if (selfRunner) {
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Duration","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","addFinalizer","logDebug","annotateLogs","package","module","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","releaseShardsMap","releaseShard","fnUntraced","forEach","values","state","status","void","manager","interruptShard","withSpan","captureStackTrace","attributes","entityType","entity","type","concurrency","discard","timeout","entityTerminationTimeout","release","remove","unregisterShardReplyHandlers","sandbox","tapError","cause","eventually","effect","fiber","runner","annotateSpans","run","onlyIfMissing","releaseShards","unsafeOpen","await","unsafeClose","add","size","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","logWarning","repeat","spaced","entityMessagePollInterval","interruptible","suspend","refresh","flatMap","includes","retry","times","schedule","logError","andThen","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","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","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","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","withTimeout","seconds","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","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":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Duration","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","_fiber","_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","releaseShardsMap","releaseShard","fnUntraced","fibers","state","values","status","push","fork","manager","interruptShard","joinAllDiscard","release","remove","unregisterShardReplyHandlers","sandbox","effect","tapError","cause","fiber","runner","eventually","run","onlyIfMissing","releaseShards","unsafeHas","unsafeOpen","await","unsafeClose","add","size","forkIn","syncSingletons","unacquiredShards","oacquired","acquire","timeoutOption","shardLockRefreshInterval","isNone","acquired","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","logWarning","repeat","spaced","entityMessagePollInterval","interruptible","suspend","refresh","flatMap","includes","void","retry","times","schedule","logError","andThen","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","forEach","clearProcessed","unprocessedMessages","fail","EntityNotAssignedToRunner","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","discard","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","withTimeout","timeout","seconds","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","fiberIdWith","fiberId","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","shouldBeRunning","reaper","EntityReaper","entityManagerLatches","registerEntity","build","sharding","preemptiveShutdown","shutdown","EntityRegistered","latch","unsafeMakeLatch","checkRunner","isAlive","concurrency","runnerHealthCheckInterval","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -13,12 +13,12 @@ var Duration = _interopRequireWildcard(require("effect/Duration"));
13
13
  var Effect = _interopRequireWildcard(require("effect/Effect"));
14
14
  var Equal = _interopRequireWildcard(require("effect/Equal"));
15
15
  var Exit = _interopRequireWildcard(require("effect/Exit"));
16
- var FiberMap = _interopRequireWildcard(require("effect/FiberMap"));
17
16
  var FiberRef = _interopRequireWildcard(require("effect/FiberRef"));
18
17
  var _Function = require("effect/Function");
19
18
  var HashMap = _interopRequireWildcard(require("effect/HashMap"));
20
19
  var Metric = _interopRequireWildcard(require("effect/Metric"));
21
20
  var Option = _interopRequireWildcard(require("effect/Option"));
21
+ var Runtime = _interopRequireWildcard(require("effect/Runtime"));
22
22
  var Schedule = _interopRequireWildcard(require("effect/Schedule"));
23
23
  var Schema = _interopRequireWildcard(require("effect/Schema"));
24
24
  var Scope = _interopRequireWildcard(require("effect/Scope"));
@@ -33,6 +33,7 @@ var Reply = _interopRequireWildcard(require("../Reply.js"));
33
33
  var _ShardingConfig = require("../ShardingConfig.js");
34
34
  var Snowflake = _interopRequireWildcard(require("../Snowflake.js"));
35
35
  var _entityReaper = require("./entityReaper.js");
36
+ var _fiber = require("./fiber.js");
36
37
  var _interruptors = require("./interruptors.js");
37
38
  var _resourceMap = require("./resourceMap.js");
38
39
  var _resourceRef = require("./resourceRef.js");
@@ -292,32 +293,24 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
292
293
  }
293
294
  }), FiberRef.currentLogAnnotations, HashMap.empty());
294
295
  }
295
- const entityRemovalMap = yield* FiberMap.make();
296
- const interruptShard = shardId => Effect.suspend(function loop() {
297
- const toAwait = Arr.empty();
298
- activeServers.forEach(state => {
299
- if (shardId[Equal.symbol](state.address.shardId)) {
300
- toAwait.push(FiberMap.run(entityRemovalMap, state.address, entities.removeIgnore(state.address), {
301
- onlyIfMissing: true
302
- }));
303
- }
304
- });
305
- serverCloseLatches.forEach((latch, address) => {
306
- if (shardId[Equal.symbol](address.shardId)) {
307
- toAwait.push(latch.await);
308
- }
309
- });
310
- if (toAwait.length === 0) {
311
- return Effect.void;
312
- }
313
- return Effect.flatMap(Effect.all(toAwait, {
314
- concurrency: "unbounded",
315
- discard: true
316
- }), loop);
317
- });
318
296
  const decodeMessage = Schema.decode(makeMessageSchema(entity));
297
+ const runFork = Runtime.runFork(yield* Effect.runtime().pipe(Effect.interruptible));
319
298
  return (0, _Function.identity)({
320
- interruptShard,
299
+ interruptShard: shardId => Effect.suspend(function loop() {
300
+ const fibers = Arr.empty();
301
+ activeServers.forEach(state => {
302
+ if (shardId[Equal.symbol](state.address.shardId)) {
303
+ fibers.push(runFork(entities.removeIgnore(state.address)));
304
+ }
305
+ });
306
+ serverCloseLatches.forEach((latch, address) => {
307
+ if (shardId[Equal.symbol](address.shardId)) {
308
+ fibers.push(runFork(latch.await));
309
+ }
310
+ });
311
+ if (fibers.length === 0) return Effect.void;
312
+ return Effect.flatMap((0, _fiber.joinAllDiscard)(fibers), loop);
313
+ }),
321
314
  isProcessingFor(message, options) {
322
315
  if (options?.excludeReplies !== true && processedRequestIds.has(message.envelope.requestId)) {
323
316
  return true;