@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.
- package/dist/cjs/MessageStorage.js +8 -5
- package/dist/cjs/MessageStorage.js.map +1 -1
- package/dist/cjs/RunnerServer.js +18 -11
- package/dist/cjs/RunnerServer.js.map +1 -1
- package/dist/cjs/Runners.js +21 -9
- package/dist/cjs/Runners.js.map +1 -1
- package/dist/cjs/ShardManager.js +1 -1
- package/dist/cjs/ShardManager.js.map +1 -1
- package/dist/cjs/Sharding.js +24 -3
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/SqlMessageStorage.js +7 -1
- package/dist/cjs/SqlMessageStorage.js.map +1 -1
- package/dist/cjs/SqlShardStorage.js +6 -6
- package/dist/cjs/internal/entityManager.js +13 -2
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/MessageStorage.d.ts +14 -2
- package/dist/dts/MessageStorage.d.ts.map +1 -1
- package/dist/dts/RunnerServer.d.ts +2 -2
- package/dist/dts/RunnerServer.d.ts.map +1 -1
- package/dist/dts/Runners.d.ts +4 -1
- package/dist/dts/Runners.d.ts.map +1 -1
- package/dist/dts/ShardStorage.d.ts +3 -3
- package/dist/dts/Sharding.d.ts +3 -3
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/SqlMessageStorage.d.ts +2 -1
- package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
- package/dist/esm/MessageStorage.js +8 -5
- package/dist/esm/MessageStorage.js.map +1 -1
- package/dist/esm/RunnerServer.js +18 -11
- package/dist/esm/RunnerServer.js.map +1 -1
- package/dist/esm/Runners.js +21 -9
- package/dist/esm/Runners.js.map +1 -1
- package/dist/esm/ShardManager.js +1 -1
- package/dist/esm/ShardManager.js.map +1 -1
- package/dist/esm/Sharding.js +25 -4
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/SqlMessageStorage.js +7 -1
- package/dist/esm/SqlMessageStorage.js.map +1 -1
- package/dist/esm/SqlShardStorage.js +6 -6
- package/dist/esm/internal/entityManager.js +13 -2
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +2 -2
- package/src/MessageStorage.ts +29 -7
- package/src/RunnerServer.ts +28 -17
- package/src/Runners.ts +38 -9
- package/src/ShardManager.ts +1 -1
- package/src/ShardStorage.ts +1 -1
- package/src/Sharding.ts +30 -10
- package/src/SqlMessageStorage.ts +12 -1
- package/src/SqlShardStorage.ts +6 -6
- 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.
|
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.
|
14
|
+
"@effect/rpc": "^0.55.12",
|
15
15
|
"@effect/sql": "^0.33.8",
|
16
16
|
"effect": "^3.14.8"
|
17
17
|
},
|
package/src/MessageStorage.ts
CHANGED
@@ -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>(
|
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.
|
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(
|
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
|
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)
|
package/src/RunnerServer.ts
CHANGED
@@ -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
|
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
|
-
|
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
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
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: {
|
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) =>
|
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) =>
|
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) =>
|
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(
|
package/src/ShardManager.ts
CHANGED
@@ -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.
|
138
|
+
runnerHealthCheckInterval: Duration.minutes(1),
|
139
139
|
runnerPingTimeout: Duration.seconds(3)
|
140
140
|
}
|
141
141
|
}
|
package/src/ShardStorage.ts
CHANGED
@@ -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
|
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 {
|
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
|
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("
|
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 = (
|
647
|
-
|
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
|
-
|
658
|
-
|
659
|
-
|
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)
|
package/src/SqlMessageStorage.ts
CHANGED
@@ -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
|
)
|
package/src/SqlShardStorage.ts
CHANGED
@@ -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 '
|
145
|
-
mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL
|
146
|
-
mssql: () => sql`DATEADD(SECOND, -
|
147
|
-
orElse: () => sql`datetime(${sqlNow}, '-
|
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}) >
|
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)) <=
|
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
|
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
|
-
|
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) =>
|