@effect/cluster 0.29.13 → 0.29.17

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 +2 -2
  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
@@ -1 +1 @@
1
- {"version":3,"file":"entityManager.js","names":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotManagedByRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","CurrentAddress","CurrentRunnerAddress","Request","Envelope","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","onFromServer","response","_tag","request","get","requestId","void","rpc","annotations","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","tag","payload","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","envelopeId","requests","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","has","send","matchEffect","onFailure","cause","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":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotManagedByRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","CurrentAddress","CurrentRunnerAddress","Request","Envelope","Message","MessageStorage","Reply","ShardingConfig","Snowflake","EntityReaper","internalInterruptors","ResourceMap","ResourceRef","make","fnUntraced","entity","buildHandlers","options","config","snowflakeGen","Generator","managerScope","scope","storageEnabled","storage","noop","mailboxCapacity","entityMailboxCapacity","clock","context","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","onFromServer","response","_tag","request","get","requestId","void","sentReply","rpc","annotations","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","tag","payload","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","envelopeId","requests","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","cause","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":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/cluster",
3
- "version": "0.29.13",
3
+ "version": "0.29.17",
4
4
  "description": "Unified interfaces for common cluster-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,7 +11,7 @@
11
11
  "sideEffects": [],
12
12
  "peerDependencies": {
13
13
  "@effect/platform": "^0.80.8",
14
- "@effect/rpc": "^0.55.11",
14
+ "@effect/rpc": "^0.55.12",
15
15
  "@effect/sql": "^0.33.8",
16
16
  "effect": "^3.14.8"
17
17
  },
@@ -65,7 +65,9 @@ export class MessageStorage extends Context.Tag("@effect/cluster/MessageStorage"
65
65
  /**
66
66
  * For locally sent messages, register a handler to process the replies.
67
67
  */
68
- readonly registerReplyHandler: <R extends Rpc.Any>(message: Message.OutgoingRequest<R>) => Effect.Effect<void>
68
+ readonly registerReplyHandler: <R extends Rpc.Any>(
69
+ message: Message.OutgoingRequest<R> | Message.IncomingRequest<R>
70
+ ) => Effect.Effect<void>
69
71
 
70
72
  /**
71
73
  * Retrieves the unprocessed messages for the specified shards.
@@ -88,6 +90,13 @@ export class MessageStorage extends Context.Tag("@effect/cluster/MessageStorage"
88
90
  messageIds: Iterable<Snowflake.Snowflake>
89
91
  ) => Effect.Effect<Array<Message.Incoming<R>>, PersistenceError>
90
92
 
93
+ /**
94
+ * Reset the mailbox state for the provided shards.
95
+ */
96
+ readonly resetShards: (
97
+ shardIds: Iterable<ShardId>
98
+ ) => Effect.Effect<void, PersistenceError>
99
+
91
100
  /**
92
101
  * Reset the mailbox state for the provided address.
93
102
  */
@@ -237,6 +246,13 @@ export type Encoded = {
237
246
  readonly resetAddress: (
238
247
  address: EntityAddress
239
248
  ) => Effect.Effect<void, PersistenceError>
249
+
250
+ /**
251
+ * Reset the mailbox state for the provided shards.
252
+ */
253
+ readonly resetShards: (
254
+ shardIds: ReadonlyArray<number>
255
+ ) => Effect.Effect<void, PersistenceError>
240
256
  }
241
257
 
242
258
  /**
@@ -269,13 +285,16 @@ export const make = (
269
285
  Effect.sync(() => {
270
286
  const replyHandlers = new Map<
271
287
  Snowflake.Snowflake,
272
- (reply: Reply.Reply<any>) => Effect.Effect<void, PersistenceError>
288
+ (reply: Reply.ReplyWithContext<any>) => Effect.Effect<void, PersistenceError | MalformedMessage>
273
289
  >()
274
290
  return MessageStorage.of({
275
291
  ...storage,
276
292
  registerReplyHandler: (message) =>
277
293
  Effect.sync(() => {
278
- replyHandlers.set(message.envelope.requestId, message.respond)
294
+ replyHandlers.set(
295
+ message.envelope.requestId,
296
+ message._tag === "IncomingRequest" ? message.respond : (reply) => message.respond(reply.reply)
297
+ )
279
298
  }),
280
299
  saveReply(reply) {
281
300
  return Effect.flatMap(storage.saveReply(reply), () => {
@@ -285,7 +304,7 @@ export const make = (
285
304
  } else if (reply.reply._tag === "WithExit") {
286
305
  replyHandlers.delete(reply.reply.requestId)
287
306
  }
288
- return handler(reply.reply)
307
+ return handler(reply)
289
308
  })
290
309
  }
291
310
  })
@@ -371,7 +390,8 @@ export const makeEncoded: (encoded: Encoded) => Effect.Effect<
371
390
  decodeMessages
372
391
  )
373
392
  },
374
- resetAddress: (address) => encoded.resetAddress(address)
393
+ resetAddress: (address) => encoded.resetAddress(address),
394
+ resetShards: (shardIds) => encoded.resetShards(Array.from(shardIds))
375
395
  })
376
396
 
377
397
  const decodeMessages = (
@@ -489,7 +509,8 @@ export const noop: MessageStorage["Type"] = globalValue(
489
509
  repliesFor: () => Effect.succeed([]),
490
510
  unprocessedMessages: () => Effect.succeed([]),
491
511
  unprocessedMessagesById: () => Effect.succeed([]),
492
- resetAddress: () => Effect.void
512
+ resetAddress: () => Effect.void,
513
+ resetShards: () => Effect.void
493
514
  }))
494
515
  )
495
516
 
@@ -645,7 +666,8 @@ export class MemoryDriver extends Effect.Service<MemoryDriver>()("@effect/cluste
645
666
  }
646
667
  return unprocessedWith((envelope) => envelopeIds.has(envelope.requestId))
647
668
  }),
648
- resetAddress: () => Effect.void
669
+ resetAddress: () => Effect.void,
670
+ resetShards: () => Effect.void
649
671
  }
650
672
 
651
673
  const storage = yield* makeEncoded(encoded)
@@ -8,7 +8,7 @@ import * as Layer from "effect/Layer"
8
8
  import * as Mailbox from "effect/Mailbox"
9
9
  import * as Option from "effect/Option"
10
10
  import * as Message from "./Message.js"
11
- import type * as MessageStorage from "./MessageStorage.js"
11
+ import * as MessageStorage from "./MessageStorage.js"
12
12
  import * as Reply from "./Reply.js"
13
13
  import * as Runners from "./Runners.js"
14
14
  import * as Sharding from "./Sharding.js"
@@ -25,6 +25,7 @@ const constVoid = constant(Effect.void)
25
25
  */
26
26
  export const layerHandlers = Runners.Rpcs.toLayer(Effect.gen(function*() {
27
27
  const sharding = yield* Sharding.Sharding
28
+ const storage = yield* MessageStorage.MessageStorage
28
29
 
29
30
  return {
30
31
  Ping: () => Effect.void,
@@ -38,7 +39,7 @@ export const layerHandlers = Runners.Rpcs.toLayer(Effect.gen(function*() {
38
39
  })
39
40
  : new Message.IncomingEnvelope({ envelope })
40
41
  ),
41
- Effect: ({ request }) => {
42
+ Effect: ({ persisted, request }) => {
42
43
  let resume: (reply: Effect.Effect<Reply.ReplyEncoded<any>>) => void
43
44
  let replyEncoded: Reply.ReplyEncoded<any> | undefined
44
45
  const message = new Message.IncomingRequest({
@@ -56,7 +57,12 @@ export const layerHandlers = Runners.Rpcs.toLayer(Effect.gen(function*() {
56
57
  }
57
58
  })
58
59
  return Effect.zipRight(
59
- sharding.send(message),
60
+ persisted ?
61
+ Effect.zipRight(
62
+ storage.registerReplyHandler(message),
63
+ sharding.notify(message)
64
+ ) :
65
+ sharding.send(message),
60
66
  Effect.async<Reply.ReplyEncoded<any>>((resume_) => {
61
67
  if (replyEncoded) {
62
68
  resume_(Effect.succeed(replyEncoded))
@@ -66,25 +72,30 @@ export const layerHandlers = Runners.Rpcs.toLayer(Effect.gen(function*() {
66
72
  })
67
73
  )
68
74
  },
69
- Stream: ({ request }) =>
75
+ Stream: ({ persisted, request }) =>
70
76
  Effect.flatMap(
71
77
  Mailbox.make<Reply.ReplyEncoded<any>>(),
72
- (mailbox) =>
73
- Effect.as(
74
- sharding.send(
75
- new Message.IncomingRequest({
76
- envelope: request,
77
- lastSentReply: Option.none(),
78
- respond(reply) {
79
- return Effect.flatMap(Reply.serialize(reply), (reply) => {
80
- mailbox.unsafeOffer(reply)
81
- return Effect.void
82
- })
83
- }
78
+ (mailbox) => {
79
+ const message = new Message.IncomingRequest({
80
+ envelope: request,
81
+ lastSentReply: Option.none(),
82
+ respond(reply) {
83
+ return Effect.flatMap(Reply.serialize(reply), (reply) => {
84
+ mailbox.unsafeOffer(reply)
85
+ return Effect.void
84
86
  })
85
- ),
87
+ }
88
+ })
89
+ return Effect.as(
90
+ persisted ?
91
+ Effect.zipRight(
92
+ storage.registerReplyHandler(message),
93
+ sharding.notify(message)
94
+ ) :
95
+ sharding.send(message),
86
96
  mailbox
87
97
  )
98
+ }
88
99
  ),
89
100
  Envelope: ({ envelope }) => sharding.send(new Message.IncomingEnvelope({ envelope }))
90
101
  }
package/src/Runners.ts CHANGED
@@ -297,9 +297,17 @@ export const make: (options: Omit<Runners["Type"], "sendLocal" | "notifyLocal">)
297
297
  },
298
298
  notify(options_) {
299
299
  const { discard, message } = options_
300
- return notifyWith(message, (message) => {
300
+ return notifyWith(message, (message, duplicate) => {
301
301
  if (message._tag === "OutgoingEnvelope") {
302
302
  return options.notify(options_)
303
+ } else if (!duplicate && options_.address._tag === "Some") {
304
+ return Effect.catchAllCause(
305
+ options.send({
306
+ address: options_.address.value,
307
+ message
308
+ }),
309
+ () => Effect.orDie(replyFromStorage(message))
310
+ )
303
311
  }
304
312
  return discard ? options.notify(options_) : options.notify(options_).pipe(
305
313
  Effect.fork,
@@ -367,25 +375,30 @@ export class Rpcs extends RpcGroup.make(
367
375
  envelope: Envelope.PartialEncoded
368
376
  },
369
377
  success: Schema.Void,
370
- error: EntityNotManagedByRunner
378
+ error: Schema.Union(EntityNotManagedByRunner, AlreadyProcessingMessage)
371
379
  }),
372
380
  Rpc.make("Effect", {
373
381
  payload: {
374
- request: Envelope.PartialEncodedRequest
382
+ request: Envelope.PartialEncodedRequest,
383
+ persisted: Schema.Boolean
375
384
  },
376
385
  success: Schema.Object as Schema.Schema<Reply.ReplyEncoded<any>>,
377
386
  error: rpcErrors
378
387
  }),
379
388
  Rpc.make("Stream", {
380
389
  payload: {
381
- request: Envelope.PartialEncodedRequest
390
+ request: Envelope.PartialEncodedRequest,
391
+ persisted: Schema.Boolean
382
392
  },
383
393
  error: rpcErrors,
384
394
  success: Schema.Object as Schema.Schema<Reply.ReplyEncoded<any>>,
385
395
  stream: true
386
396
  }),
387
397
  Rpc.make("Envelope", {
388
- payload: { envelope: Schema.Union(Envelope.AckChunk, Envelope.Interrupt) },
398
+ payload: {
399
+ envelope: Schema.Union(Envelope.AckChunk, Envelope.Interrupt),
400
+ persisted: Schema.Boolean
401
+ },
389
402
  error: rpcErrors
390
403
  })
391
404
  ) {}
@@ -436,20 +449,31 @@ export const makeRpc: Effect.Effect<
436
449
  )
437
450
  },
438
451
  send({ address, message }) {
452
+ const rpc = message.rpc as any as Rpc.AnyWithProps
453
+ const isPersisted = Context.get(rpc.annotations, Persisted)
439
454
  if (message._tag === "OutgoingEnvelope") {
440
455
  return RcMap.get(clients, address).pipe(
441
- Effect.flatMap((client) => client.Envelope({ envelope: message.envelope })),
456
+ Effect.flatMap((client) =>
457
+ client.Envelope({
458
+ envelope: message.envelope,
459
+ persisted: isPersisted
460
+ })
461
+ ),
442
462
  Effect.scoped,
443
463
  Effect.catchAllDefect(() => Effect.fail(new RunnerUnavailable({ address })))
444
464
  )
445
465
  }
446
- const rpc = message.rpc as any as Rpc.AnyWithProps
447
466
  const isStream = RpcSchema.isStreamSchema(rpc.successSchema)
448
467
  if (!isStream) {
449
468
  return Effect.matchEffect(Message.serializeRequest(message), {
450
469
  onSuccess: (request) =>
451
470
  RcMap.get(clients, address).pipe(
452
- Effect.flatMap((client) => client.Effect({ request })),
471
+ Effect.flatMap((client) =>
472
+ client.Effect({
473
+ request,
474
+ persisted: isPersisted
475
+ })
476
+ ),
453
477
  Effect.flatMap((reply) =>
454
478
  Schema.decode(Reply.Reply(message.rpc))(reply).pipe(
455
479
  Effect.locally(FiberRef.currentContext, message.context),
@@ -473,7 +497,12 @@ export const makeRpc: Effect.Effect<
473
497
  return Effect.matchEffect(Message.serializeRequest(message), {
474
498
  onSuccess: (request) =>
475
499
  RcMap.get(clients, address).pipe(
476
- Effect.flatMap((client) => client.Stream({ request }, { asMailbox: true })),
500
+ Effect.flatMap((client) =>
501
+ client.Stream({
502
+ request,
503
+ persisted: isPersisted
504
+ }, { asMailbox: true })
505
+ ),
477
506
  Effect.flatMap((mailbox) => {
478
507
  const decode = Schema.decode(Reply.Reply(message.rpc))
479
508
  return mailbox.take.pipe(
@@ -135,7 +135,7 @@ export class Config extends Context.Tag("@effect/cluster/ShardManager/Config")<C
135
135
  rebalanceRate: 2 / 100,
136
136
  persistRetryCount: 100,
137
137
  persistRetryInterval: Duration.seconds(3),
138
- runnerHealthCheckInterval: Duration.seconds(10),
138
+ runnerHealthCheckInterval: Duration.minutes(1),
139
139
  runnerPingTimeout: Duration.seconds(3)
140
140
  }
141
141
  }
@@ -54,7 +54,7 @@ export class ShardStorage extends Context.Tag("@effect/cluster/ShardStorage")<Sh
54
54
  /**
55
55
  * Refresh the locks owned by the given runner.
56
56
  *
57
- * Locks expire after 30 seconds, so this method should be called every 20
57
+ * Locks expire after 15 seconds, so this method should be called every 10
58
58
  * seconds to keep the locks alive.
59
59
  */
60
60
  readonly refresh: (
package/src/Sharding.ts CHANGED
@@ -26,8 +26,8 @@ import * as PubSub from "effect/PubSub"
26
26
  import * as Schedule from "effect/Schedule"
27
27
  import * as Scope from "effect/Scope"
28
28
  import * as Stream from "effect/Stream"
29
- import type { AlreadyProcessingMessage, MailboxFull, PersistenceError } from "./ClusterError.js"
30
- import { EntityNotManagedByRunner, RunnerUnavailable } from "./ClusterError.js"
29
+ import type { MailboxFull, PersistenceError } from "./ClusterError.js"
30
+ import { AlreadyProcessingMessage, EntityNotManagedByRunner, RunnerUnavailable } from "./ClusterError.js"
31
31
  import { Persisted } from "./ClusterSchema.js"
32
32
  import type { CurrentAddress, Entity, HandlersFrom } from "./Entity.js"
33
33
  import { EntityAddress } from "./EntityAddress.js"
@@ -118,7 +118,7 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
118
118
  */
119
119
  readonly notify: (message: Message.Incoming<any>) => Effect.Effect<
120
120
  void,
121
- EntityNotManagedByRunner
121
+ EntityNotManagedByRunner | AlreadyProcessingMessage
122
122
  >
123
123
 
124
124
  /**
@@ -211,6 +211,7 @@ const make = Effect.gen(function*() {
211
211
  }
212
212
 
213
213
  const acquired = yield* shardStorage.acquire(selfAddress, unacquiredShards)
214
+ yield* Effect.ignore(storage.resetShards(acquired))
214
215
  for (const shardId of acquired) {
215
216
  acquiredShards.add(shardId)
216
217
  }
@@ -233,7 +234,7 @@ const make = Effect.gen(function*() {
233
234
  Effect.forkIn(shardingScope)
234
235
  )
235
236
 
236
- // refresh the shard locks every 20s
237
+ // refresh the shard locks every 10s
237
238
  yield* Effect.suspend(() =>
238
239
  shardStorage.refresh(selfAddress, [
239
240
  ...acquiredShards,
@@ -263,7 +264,7 @@ const make = Effect.gen(function*() {
263
264
  Effect.andThen(clearSelfShards)
264
265
  )
265
266
  ),
266
- Effect.delay("20 seconds"),
267
+ Effect.delay("10 seconds"),
267
268
  Effect.forever,
268
269
  Effect.interruptible,
269
270
  Effect.forkIn(shardingScope)
@@ -368,6 +369,8 @@ const make = Effect.gen(function*() {
368
369
  const storageReadLock = Effect.unsafeMakeSemaphore(1)
369
370
  const withStorageReadLock = storageReadLock.withPermits(1)
370
371
 
372
+ let storageAlreadyProcessed = (_message: Message.IncomingRequest<any>) => true
373
+
371
374
  if (storageEnabled && Option.isSome(config.runnerAddress)) {
372
375
  const selfAddress = config.runnerAddress.value
373
376
 
@@ -380,6 +383,15 @@ const make = Effect.gen(function*() {
380
383
  const sentRequestIds = new Set<Snowflake.Snowflake>()
381
384
  const sentRequestIdSets = new Set<Set<Snowflake.Snowflake>>()
382
385
 
386
+ storageAlreadyProcessed = (message: Message.IncomingRequest<any>) => {
387
+ if (!sentRequestIds.has(message.envelope.requestId)) {
388
+ return false
389
+ }
390
+ const state = entityManagers.get(message.envelope.address.entityType)
391
+ if (!state) return true
392
+ return !state.manager.isProcessingFor(message, { excludeReplies: true })
393
+ }
394
+
383
395
  while (true) {
384
396
  // wait for the next poll interval, or if we get notified of a change
385
397
  yield* storageReadLatch.await
@@ -643,8 +655,11 @@ const make = Effect.gen(function*() {
643
655
  })
644
656
  })
645
657
 
646
- const notifyLocal = (message: Message.Outgoing<any> | Message.Incoming<any>, discard: boolean) =>
647
- Effect.suspend(() => {
658
+ const notifyLocal = (
659
+ message: Message.Outgoing<any> | Message.Incoming<any>,
660
+ discard: boolean
661
+ ) =>
662
+ Effect.suspend((): Effect.Effect<void, EntityNotManagedByRunner | AlreadyProcessingMessage> => {
648
663
  const address = message.envelope.address
649
664
  if (!isEntityOnLocalShards(address)) {
650
665
  return Effect.fail(new EntityNotManagedByRunner({ address }))
@@ -654,9 +669,14 @@ const make = Effect.gen(function*() {
654
669
  ? openStorageReadLatch
655
670
  : () => Effect.dieMessage("Sharding.notifyLocal: storage is disabled")
656
671
 
657
- return message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope"
658
- ? notify()
659
- : runners.notifyLocal({ message, notify, discard })
672
+ if (message._tag === "IncomingRequest" || message._tag === "IncomingEnvelope") {
673
+ if (message._tag === "IncomingRequest" && storageAlreadyProcessed(message)) {
674
+ return Effect.fail(new AlreadyProcessingMessage({ address, envelopeId: message.envelope.requestId }))
675
+ }
676
+ return notify()
677
+ }
678
+
679
+ return runners.notifyLocal({ message, notify, discard })
660
680
  })
661
681
 
662
682
  const isTransientError = Predicate.or(RunnerUnavailable.is, EntityNotManagedByRunner.is)
@@ -750,7 +750,18 @@ export const make = Effect.fnUntraced(function*(options?: {
750
750
  AND shard_id = ${address.shardId}
751
751
  AND entity_type = ${address.entityType}
752
752
  AND entity_id = ${address.entityId}
753
- `.pipe(
753
+ `.pipe(
754
+ Effect.asVoid,
755
+ PersistenceError.refail
756
+ ),
757
+
758
+ resetShards: (shardIds) =>
759
+ sql`
760
+ UPDATE ${messagesTableSql}
761
+ SET last_read = NULL
762
+ WHERE processed = ${sqlFalse}
763
+ AND shard_id IN (${sql.literal(shardIds.join(","))})
764
+ `.pipe(
754
765
  Effect.asVoid,
755
766
  PersistenceError.refail
756
767
  )
@@ -141,10 +141,10 @@ export const make = Effect.fnUntraced(function*(options?: {
141
141
  const sqlNow = sql.literal(sqlNowString)
142
142
 
143
143
  const lockExpiresAt = sql.onDialectOrElse({
144
- pg: () => sql`${sqlNow} - INTERVAL '30 seconds'`,
145
- mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 30 SECOND)`,
146
- mssql: () => sql`DATEADD(SECOND, -30, ${sqlNow})`,
147
- orElse: () => sql`datetime(${sqlNow}, '-30 seconds')`
144
+ pg: () => sql`${sqlNow} - INTERVAL '15 seconds'`,
145
+ mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 15 SECOND)`,
146
+ mssql: () => sql`DATEADD(SECOND, -15, ${sqlNow})`,
147
+ orElse: () => sql`datetime(${sqlNow}, '-15 seconds')`
148
148
  })
149
149
 
150
150
  const acquireLock = sql.onDialectOrElse({
@@ -168,7 +168,7 @@ export const make = Effect.fnUntraced(function*(options?: {
168
168
  MERGE ${locksTableSql} WITH (HOLDLOCK) AS target
169
169
  USING (SELECT * FROM (VALUES ${sql.csv(values)})) AS source (shard_id, address, acquired_at)
170
170
  ON target.shard_id = source.shard_id
171
- WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 30) THEN
171
+ WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 15) THEN
172
172
  UPDATE SET address = source.address, acquired_at = source.acquired_at
173
173
  WHEN NOT MATCHED THEN
174
174
  INSERT (shard_id, address, acquired_at)
@@ -185,7 +185,7 @@ export const make = Effect.fnUntraced(function*(options?: {
185
185
  SELECT 1 FROM ${locksTableSql}
186
186
  WHERE shard_id = source.shard_id
187
187
  AND address != ${address}
188
- AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 30
188
+ AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 15
189
189
  )
190
190
  ON CONFLICT(shard_id) DO UPDATE
191
191
  SET address = ${address}, acquired_at = ${sqlNow}
@@ -47,7 +47,9 @@ export interface EntityManager {
47
47
  message: Message.Incoming<any>
48
48
  ) => Effect.Effect<void, EntityNotManagedByRunner | MailboxFull | AlreadyProcessingMessage>
49
49
 
50
- readonly isProcessingFor: (message: Message.Incoming<any>) => boolean
50
+ readonly isProcessingFor: (message: Message.Incoming<any>, options?: {
51
+ readonly excludeReplies?: boolean
52
+ }) => boolean
51
53
 
52
54
  readonly interruptShard: (shardId: ShardId) => Effect.Effect<void>
53
55
 
@@ -62,6 +64,7 @@ export type EntityState = {
62
64
  readonly activeRequests: Map<bigint, {
63
65
  readonly rpc: Rpc.AnyWithProps
64
66
  readonly message: Message.IncomingRequestLocal<any>
67
+ sentReply: boolean
65
68
  lastSentChunk: Option.Option<Reply.Chunk<Rpc.Any>>
66
69
  sequence: number
67
70
  }>
@@ -143,6 +146,8 @@ export const make = Effect.fnUntraced(function*<
143
146
  const request = activeRequests.get(response.requestId)
144
147
  if (!request) return Effect.void
145
148
 
149
+ request.sentReply = true
150
+
146
151
  // For durable messages, ignore interrupts during shutdown.
147
152
  // They will be retried when the entity is restarted.
148
153
  if (
@@ -184,6 +189,9 @@ export const make = Effect.fnUntraced(function*<
184
189
  if (!request) return Effect.void
185
190
  const sequence = request.sequence
186
191
  request.sequence++
192
+ if (!request.sentReply) {
193
+ request.sentReply = true
194
+ }
187
195
  return Effect.orDie(retryRespond(
188
196
  4,
189
197
  Effect.suspend(() => {
@@ -336,6 +344,7 @@ export const make = Effect.fnUntraced(function*<
336
344
  entry = {
337
345
  rpc: entity.protocol.requests.get(message.envelope.tag)! as any as Rpc.AnyWithProps,
338
346
  message,
347
+ sentReply: false,
339
348
  lastSentChunk: message.lastSentReply as any,
340
349
  sequence: Option.match(message.lastSentReply, {
341
350
  onNone: () => 0,
@@ -402,10 +411,16 @@ export const make = Effect.fnUntraced(function*<
402
411
 
403
412
  return identity<EntityManager>({
404
413
  interruptShard,
405
- isProcessingFor(message) {
414
+ isProcessingFor(message, options) {
406
415
  const state = activeServers.get(message.envelope.address.entityId)
407
416
  if (!state) return false
408
- return state.activeRequests.has(message.envelope.requestId)
417
+ const request = state.activeRequests.get(message.envelope.requestId)
418
+ if (request === undefined) {
419
+ return false
420
+ } else if (options?.excludeReplies && request.sentReply) {
421
+ return false
422
+ }
423
+ return true
409
424
  },
410
425
  sendLocal,
411
426
  send: (message) =>