@effect/cluster 0.29.13 → 0.29.16

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.
Files changed (51) hide show
  1. package/dist/cjs/MessageStorage.js +8 -5
  2. package/dist/cjs/MessageStorage.js.map +1 -1
  3. package/dist/cjs/RunnerServer.js +18 -11
  4. package/dist/cjs/RunnerServer.js.map +1 -1
  5. package/dist/cjs/Runners.js +21 -9
  6. package/dist/cjs/Runners.js.map +1 -1
  7. package/dist/cjs/ShardManager.js +1 -1
  8. package/dist/cjs/ShardManager.js.map +1 -1
  9. package/dist/cjs/Sharding.js +24 -3
  10. package/dist/cjs/Sharding.js.map +1 -1
  11. package/dist/cjs/SqlMessageStorage.js +7 -1
  12. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  13. package/dist/cjs/SqlShardStorage.js +6 -6
  14. package/dist/cjs/internal/entityManager.js +13 -2
  15. package/dist/cjs/internal/entityManager.js.map +1 -1
  16. package/dist/dts/MessageStorage.d.ts +14 -2
  17. package/dist/dts/MessageStorage.d.ts.map +1 -1
  18. package/dist/dts/RunnerServer.d.ts +2 -2
  19. package/dist/dts/RunnerServer.d.ts.map +1 -1
  20. package/dist/dts/Runners.d.ts +4 -1
  21. package/dist/dts/Runners.d.ts.map +1 -1
  22. package/dist/dts/ShardStorage.d.ts +3 -3
  23. package/dist/dts/Sharding.d.ts +3 -3
  24. package/dist/dts/Sharding.d.ts.map +1 -1
  25. package/dist/dts/SqlMessageStorage.d.ts +2 -1
  26. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  27. package/dist/esm/MessageStorage.js +8 -5
  28. package/dist/esm/MessageStorage.js.map +1 -1
  29. package/dist/esm/RunnerServer.js +18 -11
  30. package/dist/esm/RunnerServer.js.map +1 -1
  31. package/dist/esm/Runners.js +21 -9
  32. package/dist/esm/Runners.js.map +1 -1
  33. package/dist/esm/ShardManager.js +1 -1
  34. package/dist/esm/ShardManager.js.map +1 -1
  35. package/dist/esm/Sharding.js +25 -4
  36. package/dist/esm/Sharding.js.map +1 -1
  37. package/dist/esm/SqlMessageStorage.js +7 -1
  38. package/dist/esm/SqlMessageStorage.js.map +1 -1
  39. package/dist/esm/SqlShardStorage.js +6 -6
  40. package/dist/esm/internal/entityManager.js +13 -2
  41. package/dist/esm/internal/entityManager.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/MessageStorage.ts +29 -7
  44. package/src/RunnerServer.ts +28 -17
  45. package/src/Runners.ts +38 -9
  46. package/src/ShardManager.ts +1 -1
  47. package/src/ShardStorage.ts +1 -1
  48. package/src/Sharding.ts +30 -10
  49. package/src/SqlMessageStorage.ts +12 -1
  50. package/src/SqlShardStorage.ts +6 -6
  51. package/src/internal/entityManager.ts +18 -3
@@ -113,6 +113,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
113
113
  continue;
114
114
  }
115
115
  const acquired = yield* shardStorage.acquire(selfAddress, unacquiredShards);
116
+ yield* Effect.ignore(storage.resetShards(acquired));
116
117
  for (const shardId of acquired) {
117
118
  acquiredShards.add(shardId);
118
119
  }
@@ -128,7 +129,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
128
129
  fiber: "Shard acquisition loop",
129
130
  runner: selfAddress
130
131
  }), Effect.interruptible, Effect.forkIn(shardingScope));
131
- // refresh the shard locks every 20s
132
+ // refresh the shard locks every 10s
132
133
  yield* Effect.suspend(() => shardStorage.refresh(selfAddress, [...acquiredShards, ...releasingShards])).pipe(Effect.flatMap(acquired => {
133
134
  for (const shardId of acquiredShards) {
134
135
  if (!acquired.includes(shardId)) {
@@ -140,7 +141,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
140
141
  }), Effect.retry({
141
142
  times: 5,
142
143
  schedule: Schedule.spaced(250)
143
- }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.delay("20 seconds"), Effect.forever, Effect.interruptible, Effect.forkIn(shardingScope));
144
+ }), Effect.catchAllCause(cause => Effect.logError("Could not refresh shard locks", cause).pipe(Effect.andThen(clearSelfShards))), Effect.delay("10 seconds"), Effect.forever, Effect.interruptible, Effect.forkIn(shardingScope));
144
145
  const releaseShardsLock = Effect.unsafeMakeSemaphore(1).withPermits(1);
145
146
  const releaseShards = releaseShardsLock(Effect.suspend(() => Effect.forEach(releasingShards, shardId => Effect.forEach(entityManagers.values(), state => state.manager.interruptShard(shardId), {
146
147
  concurrency: "unbounded",
@@ -208,6 +209,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
208
209
  const openStorageReadLatch = (0, _Function.constant)(storageReadLatch.open);
209
210
  const storageReadLock = Effect.unsafeMakeSemaphore(1);
210
211
  const withStorageReadLock = storageReadLock.withPermits(1);
212
+ let storageAlreadyProcessed = _message => true;
211
213
  if (storageEnabled && Option.isSome(config.runnerAddress)) {
212
214
  const selfAddress = config.runnerAddress.value;
213
215
  yield* Effect.gen(function* () {
@@ -217,6 +219,16 @@ const make = /*#__PURE__*/Effect.gen(function* () {
217
219
  // we only keep the last 30 sets to avoid memory leaks
218
220
  const sentRequestIds = new Set();
219
221
  const sentRequestIdSets = new Set();
222
+ storageAlreadyProcessed = message => {
223
+ if (!sentRequestIds.has(message.envelope.requestId)) {
224
+ return false;
225
+ }
226
+ const state = entityManagers.get(message.envelope.address.entityType);
227
+ if (!state) return true;
228
+ return !state.manager.isProcessingFor(message, {
229
+ excludeReplies: true
230
+ });
231
+ };
220
232
  while (true) {
221
233
  // wait for the next poll interval, or if we get notified of a change
222
234
  yield* storageReadLatch.await;
@@ -418,7 +430,16 @@ const make = /*#__PURE__*/Effect.gen(function* () {
418
430
  }));
419
431
  }
420
432
  const notify = storageEnabled ? openStorageReadLatch : () => Effect.dieMessage("Sharding.notifyLocal: storage is disabled");
421
- return message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope" ? notify() : runners.notifyLocal({
433
+ if (message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope") {
434
+ if (message._tag === "IncomingRequest" && storageAlreadyProcessed(message)) {
435
+ return Effect.fail(new _ClusterError.AlreadyProcessingMessage({
436
+ address,
437
+ envelopeId: message.envelope.requestId
438
+ }));
439
+ }
440
+ return notify();
441
+ }
442
+ return runners.notifyLocal({
422
443
  message,
423
444
  notify,
424
445
  discard
@@ -1 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Effect","Equal","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","ShardId","Math","abs","hashString","numberOfShards","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","remove","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","addFinalizer","sentRequestIds","sentRequestIdSets","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","message","index","_tag","envelope","requestId","entityType","isProcessing","isProcessingFor","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","ReplyWithContext","fromDefect","id","unsafeNext","defect","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotManagedByRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","supportsAck","generateRequestId","RequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","keys","merge","currentClientAddress","withFiberRuntime","EntityAddress","type","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"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","Equal","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","_ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","Set","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","ShardId","Math","abs","hashString","numberOfShards","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","await","delete","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","close","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","includes","andThen","void","retry","times","schedule","logError","clearSelfShards","delay","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","remove","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","addFinalizer","sentRequestIds","sentRequestIdSets","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","unsafeClose","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","saveReply","ReplyWithContext","fromDefect","id","unsafeNext","defect","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","ensuring","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotManagedByRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","notify","envelopeId","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","machineId","register","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","zipRight","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","supportsAck","generateRequestId","RequestId","onFromClient","options","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","isTransientInterrupt","interruptors","some","Interrupt","wrappedClient","method","keys","merge","currentClientAddress","withFiberRuntime","EntityAddress","type","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","unregister","activeEntityCount","count","of","layer","layerGenerator","Default","GenericTag","Symbol","for","key"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -639,7 +639,13 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
639
639
  AND shard_id = ${address.shardId}
640
640
  AND entity_type = ${address.entityType}
641
641
  AND entity_id = ${address.entityId}
642
- `.pipe(Effect.asVoid, _ClusterError.PersistenceError.refail)
642
+ `.pipe(Effect.asVoid, _ClusterError.PersistenceError.refail),
643
+ resetShards: shardIds => sql`
644
+ UPDATE ${messagesTableSql}
645
+ SET last_read = NULL
646
+ WHERE processed = ${sqlFalse}
647
+ AND shard_id IN (${sql.literal(shardIds.join(","))})
648
+ `.pipe(Effect.asVoid, _ClusterError.PersistenceError.refail)
643
649
  });
644
650
  });
645
651
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Effect","Layer","Option","Schedule","_ClusterError","_MessageStorage","MessageStorage","Snowflake","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","SaveResultEncoded","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","PersistenceError","refail","saveReply","update","asVoid","repliesFor","requestIds","unprocessedMessages","messages","Array","ids","unprocessedMessagesById","idArr","from","resetAddress","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlMessageStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Effect","Layer","Option","Schedule","_ClusterError","_MessageStorage","MessageStorage","Snowflake","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","options","sql","withoutTransforms","prefix","table","name","messageKindAckChunk","literal","String","messageKind","AckChunk","replyKindWithExit","replyKind","WithExit","messagesTable","messagesTableSql","repliesTable","repliesTableSql","onDialectOrElse","mssql","mysql","pg","pipe","ignore","orElse","shardLookupIndex","requestIdLookupIndex","unprepared","tapDefect","error","annotateLogs","logDebug","package","module","retry","schedule","spaced","all","withTransaction","replyLookupIndex","envelopeToRow","envelope","message_id","deliver_at","_tag","id","requestId","shard_id","address","shardId","entity_type","entityType","entity_id","entityId","kind","Request","tag","payload","JSON","stringify","headers","trace_id","traceId","span_id","spanId","sampled","supportsBooleans","request_id","reply_id","replyId","Interrupt","replyToRow","reply","exit","values","sequence","sqlite","messageFromRow","row","Number","parse","lastSentReply","reply_reply_id","some","reply_sequence","reply_payload","none","sqlFalse","sqlTrue","insertEnvelope","insert","times","map","rows","tap","fiveMinutesAgo","sqlNowString","sqlNow","getUnprocessedMessages","shardIds","now","join","length","void","makeEncoded","saveEnvelope","deliverAt","primaryKey","suspend","as","andThen","SaveResultEncoded","Success","Duplicate","originalId","lastReceivedReply","reply_kind","provideService","SafeIntegers","PersistenceError","refail","saveReply","update","asVoid","repliesFor","requestIds","unprocessedMessages","messages","Array","ids","unprocessedMessagesById","idArr","from","resetAddress","resetShards","layer","scoped","provide","layerGenerator","layerWith"],"sources":["../../src/SqlMessageStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -129,10 +129,10 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
129
129
  });
130
130
  const sqlNow = sql.literal(sqlNowString);
131
131
  const lockExpiresAt = sql.onDialectOrElse({
132
- pg: () => sql`${sqlNow} - INTERVAL '30 seconds'`,
133
- mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 30 SECOND)`,
134
- mssql: () => sql`DATEADD(SECOND, -30, ${sqlNow})`,
135
- orElse: () => sql`datetime(${sqlNow}, '-30 seconds')`
132
+ pg: () => sql`${sqlNow} - INTERVAL '15 seconds'`,
133
+ mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 15 SECOND)`,
134
+ mssql: () => sql`DATEADD(SECOND, -15, ${sqlNow})`,
135
+ orElse: () => sql`datetime(${sqlNow}, '-15 seconds')`
136
136
  });
137
137
  const acquireLock = sql.onDialectOrElse({
138
138
  pg: () => (address, values) => sql`
@@ -152,7 +152,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
152
152
  MERGE ${locksTableSql} WITH (HOLDLOCK) AS target
153
153
  USING (SELECT * FROM (VALUES ${sql.csv(values)})) AS source (shard_id, address, acquired_at)
154
154
  ON target.shard_id = source.shard_id
155
- WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 30) THEN
155
+ WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 15) THEN
156
156
  UPDATE SET address = source.address, acquired_at = source.acquired_at
157
157
  WHEN NOT MATCHED THEN
158
158
  INSERT (shard_id, address, acquired_at)
@@ -169,7 +169,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
169
169
  SELECT 1 FROM ${locksTableSql}
170
170
  WHERE shard_id = source.shard_id
171
171
  AND address != ${address}
172
- AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 30
172
+ AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 15
173
173
  )
174
174
  ON CONFLICT(shard_id) DO UPDATE
175
175
  SET address = ${address}, acquired_at = ${sqlNow}
@@ -73,6 +73,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
73
73
  {
74
74
  const request = activeRequests.get(response.requestId);
75
75
  if (!request) return Effect.void;
76
+ request.sentReply = true;
76
77
  // For durable messages, ignore interrupts during shutdown.
77
78
  // They will be retried when the entity is restarted.
78
79
  if (storageEnabled && isShuttingDown && Context.get(request.rpc.annotations, _ClusterSchema.Persisted) && Exit.isInterrupted(response.exit)) {
@@ -98,6 +99,9 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
98
99
  if (!request) return Effect.void;
99
100
  const sequence = request.sequence;
100
101
  request.sequence++;
102
+ if (!request.sentReply) {
103
+ request.sentReply = true;
104
+ }
101
105
  return Effect.orDie(retryRespond(4, Effect.suspend(() => {
102
106
  const reply = new Reply.Chunk({
103
107
  requestId: Snowflake.Snowflake(response.requestId),
@@ -213,6 +217,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
213
217
  entry = {
214
218
  rpc: entity.protocol.requests.get(message.envelope.tag),
215
219
  message,
220
+ sentReply: false,
216
221
  lastSentChunk: message.lastSentReply,
217
222
  sequence: Option.match(message.lastSentReply, {
218
223
  onNone: () => 0,
@@ -269,10 +274,16 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (entity, bu
269
274
  const decodeMessage = Schema.decode(makeMessageSchema(entity));
270
275
  return (0, _Function.identity)({
271
276
  interruptShard,
272
- isProcessingFor(message) {
277
+ isProcessingFor(message, options) {
273
278
  const state = activeServers.get(message.envelope.address.entityId);
274
279
  if (!state) return false;
275
- return state.activeRequests.has(message.envelope.requestId);
280
+ const request = state.activeRequests.get(message.envelope.requestId);
281
+ if (request === undefined) {
282
+ return false;
283
+ } else if (options?.excludeReplies && request.sentReply) {
284
+ return false;
285
+ }
286
+ return true;
276
287
  },
277
288
  sendLocal,
278
289
  send: message => decodeMessage(message).pipe(Effect.matchEffect({
@@ -1 +1 @@
1
- {"version":3,"file":"entityManager.js","names":["_RpcMessage","require","RpcServer","_interopRequireWildcard","Arr","Cause","Context","Duration","Effect","Exit","FiberRef","_Function","HashMap","Metric","Option","Schedule","Schema","Scope","_ClusterError","ClusterMetrics","_ClusterSchema","_Entity","Envelope","Message","MessageStorage","Reply","_ShardingConfig","Snowflake","_entityReaper","_interruptors","_resourceMap","_resourceRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","entity","buildHandlers","options","config","ShardingConfig","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","activeServers","Map","entities","ResourceMap","address","sharding","isShutdown","EntityNotManagedByRunner","endLatch","makeLatch","addFinalizer","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","concurrency","onFromServer","response","_tag","request","requestId","void","rpc","annotations","Persisted","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","effect","unsafeRebuild","Array","keys","logError","die","defect","andThen","tapErrorCause","retry","spaced","annotateLogs","module","runner","open","extend","sync","write","envelope","RequestId","tag","payload","Request","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","internalInterruptors","interruptible","timeoutOption","entityTerminationTimeout","reaper","EntityReaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","AlreadyProcessingMessage","envelopeId","MailboxFull","requests","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","identity","isProcessingFor","send","matchEffect","onFailure","cause","MalformedMessage","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","push","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","Exit","FiberRef","_Function","HashMap","Metric","Option","Schedule","Schema","Scope","_ClusterError","ClusterMetrics","_ClusterSchema","_Entity","Envelope","Message","MessageStorage","Reply","_ShardingConfig","Snowflake","_entityReaper","_interruptors","_resourceMap","_resourceRef","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","fnUntraced","entity","buildHandlers","options","config","ShardingConfig","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","activeServers","Map","entities","ResourceMap","address","sharding","isShutdown","EntityNotManagedByRunner","endLatch","makeLatch","addFinalizer","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","concurrency","onFromServer","response","_tag","request","requestId","void","sentReply","rpc","annotations","Persisted","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","effect","unsafeRebuild","Array","keys","logError","die","defect","andThen","tapErrorCause","retry","spaced","annotateLogs","module","runner","open","extend","sync","write","envelope","RequestId","tag","payload","Request","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","internalInterruptors","interruptible","timeoutOption","entityTerminationTimeout","reaper","EntityReaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","AlreadyProcessingMessage","envelopeId","MailboxFull","requests","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","identity","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","cause","MalformedMessage","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","push","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":[]}
@@ -39,7 +39,7 @@ declare const MessageStorage_base: Context.TagClass<MessageStorage, "@effect/clu
39
39
  /**
40
40
  * For locally sent messages, register a handler to process the replies.
41
41
  */
42
- readonly registerReplyHandler: <R extends Rpc.Any>(message: Message.OutgoingRequest<R>) => Effect.Effect<void>;
42
+ readonly registerReplyHandler: <R extends Rpc.Any>(message: Message.OutgoingRequest<R> | Message.IncomingRequest<R>) => Effect.Effect<void>;
43
43
  /**
44
44
  * Retrieves the unprocessed messages for the specified shards.
45
45
  *
@@ -55,6 +55,10 @@ declare const MessageStorage_base: Context.TagClass<MessageStorage, "@effect/clu
55
55
  * Retrieves the unprocessed messages by id.
56
56
  */
57
57
  readonly unprocessedMessagesById: <R extends Rpc.Any>(messageIds: Iterable<Snowflake.Snowflake>) => Effect.Effect<Array<Message.Incoming<R>>, PersistenceError>;
58
+ /**
59
+ * Reset the mailbox state for the provided shards.
60
+ */
61
+ readonly resetShards: (shardIds: Iterable<ShardId>) => Effect.Effect<void, PersistenceError>;
58
62
  /**
59
63
  * Reset the mailbox state for the provided address.
60
64
  */
@@ -217,6 +221,10 @@ export type Encoded = {
217
221
  * Reset the mailbox state for the provided address.
218
222
  */
219
223
  readonly resetAddress: (address: EntityAddress) => Effect.Effect<void, PersistenceError>;
224
+ /**
225
+ * Reset the mailbox state for the provided shards.
226
+ */
227
+ readonly resetShards: (shardIds: ReadonlyArray<number>) => Effect.Effect<void, PersistenceError>;
220
228
  };
221
229
  /**
222
230
  * @since 1.0.0
@@ -286,7 +294,7 @@ declare const MemoryDriver_base: Effect.Service.Class<MemoryDriver, "@effect/clu
286
294
  /**
287
295
  * For locally sent messages, register a handler to process the replies.
288
296
  */
289
- readonly registerReplyHandler: <R extends Rpc.Any>(message: Message.OutgoingRequest<R>) => Effect.Effect<void>;
297
+ readonly registerReplyHandler: <R extends Rpc.Any>(message: Message.OutgoingRequest<R> | Message.IncomingRequest<R>) => Effect.Effect<void>;
290
298
  /**
291
299
  * Retrieves the unprocessed messages for the specified shards.
292
300
  *
@@ -302,6 +310,10 @@ declare const MemoryDriver_base: Effect.Service.Class<MemoryDriver, "@effect/clu
302
310
  * Retrieves the unprocessed messages by id.
303
311
  */
304
312
  readonly unprocessedMessagesById: <R extends Rpc.Any>(messageIds: Iterable<Snowflake.Snowflake>) => Effect.Effect<Array<Message.Incoming<R>>, PersistenceError>;
313
+ /**
314
+ * Reset the mailbox state for the provided shards.
315
+ */
316
+ readonly resetShards: (shardIds: Iterable<ShardId>) => Effect.Effect<void, PersistenceError>;
305
317
  /**
306
318
  * Reset the mailbox state for the provided address.
307
319
  */