@effect/cluster 0.52.1 → 0.52.3
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/ClusterWorkflowEngine.js +83 -89
- package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
- package/dist/cjs/Entity.js +1 -1
- package/dist/cjs/Entity.js.map +1 -1
- package/dist/cjs/Sharding.js +34 -29
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/ShardingConfig.js +2 -0
- package/dist/cjs/ShardingConfig.js.map +1 -1
- package/dist/cjs/Singleton.js +1 -1
- package/dist/cjs/Singleton.js.map +1 -1
- package/dist/dts/ClusterWorkflowEngine.d.ts +3 -2
- package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
- package/dist/dts/Sharding.d.ts +2 -2
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/ShardingConfig.d.ts +12 -0
- package/dist/dts/ShardingConfig.d.ts.map +1 -1
- package/dist/esm/ClusterWorkflowEngine.js +83 -89
- package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
- package/dist/esm/Entity.js +1 -1
- package/dist/esm/Entity.js.map +1 -1
- package/dist/esm/Sharding.js +34 -29
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/ShardingConfig.js +2 -0
- package/dist/esm/ShardingConfig.js.map +1 -1
- package/dist/esm/Singleton.js +1 -1
- package/dist/esm/Singleton.js.map +1 -1
- package/package.json +4 -4
- package/src/ClusterWorkflowEngine.ts +13 -18
- package/src/Entity.ts +1 -1
- package/src/Sharding.ts +50 -46
- package/src/ShardingConfig.ts +11 -0
- package/src/Singleton.ts +1 -1
package/dist/esm/Sharding.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","constant","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","Uninterruptible","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Tag","gen","config","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","_tag","current","envelope","get","entityType","closed","isProcessing","isProcessingFor","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","set","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","forClient","isTransientInterrupt","interruptors","some","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","running","unsafeHas","shouldBeRunning","reaper","entityManagerLatches","registerEntity","build","sharding","close","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Sharding.js","names":["RpcClient","RequestId","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","constant","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","AlreadyProcessingMessage","EntityNotAssignedToRunner","ClusterMetrics","Persisted","Uninterruptible","ClusterSchema","make","makeEntityAddress","makeEntityId","Envelope","EntityManager","EntityReaper","hashString","internalInterruptors","ResourceMap","Message","MessageStorage","Reply","Runner","RunnerHealth","Runners","RunnerStorage","makeShardId","ShardingConfig","EntityRegistered","SingletonRegistered","SingletonAddress","Snowflake","Sharding","Tag","gen","config","runnersService","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","shardsPerGroup","isEntityOnLocalShards","has","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","i","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","envelope","get","entityType","status","isProcessing","isProcessingFor","_tag","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","set","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","e","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","current","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","forClient","isTransientInterrupt","interruptors","some","Interrupt","withFiberRuntime","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","running","unsafeHas","shouldBeRunning","reaper","entityManagerLatches","registerEntity","build","sharding","fiberIdWith","preemptiveShutdown","shutdown","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -30,6 +30,7 @@ export const defaults = {
|
|
|
30
30
|
runnerShardWeight: 1,
|
|
31
31
|
shardsPerGroup: 300,
|
|
32
32
|
shardGroups: ["default"],
|
|
33
|
+
preemptiveShutdown: true,
|
|
33
34
|
shardLockRefreshInterval: /*#__PURE__*/Duration.seconds(10),
|
|
34
35
|
shardLockExpiration: /*#__PURE__*/Duration.seconds(35),
|
|
35
36
|
entityMailboxCapacity: 4096,
|
|
@@ -71,6 +72,7 @@ export const config = /*#__PURE__*/Config.all({
|
|
|
71
72
|
runnerShardWeight: /*#__PURE__*/Config.integer("runnerShardWeight").pipe(/*#__PURE__*/Config.withDefault(defaults.runnerShardWeight)),
|
|
72
73
|
shardGroups: /*#__PURE__*/Config.array(Config.string("shardGroups")).pipe(/*#__PURE__*/Config.withDefault(["default"]), /*#__PURE__*/Config.withDescription("The shard groups that are assigned to this runner.")),
|
|
73
74
|
shardsPerGroup: /*#__PURE__*/Config.integer("shardsPerGroup").pipe(/*#__PURE__*/Config.withDefault(defaults.shardsPerGroup), /*#__PURE__*/Config.withDescription("The number of shards to allocate per shard group.")),
|
|
75
|
+
preemptiveShutdown: /*#__PURE__*/Config.boolean("preemptiveShutdown").pipe(/*#__PURE__*/Config.withDefault(defaults.preemptiveShutdown), /*#__PURE__*/Config.withDescription("Start shutting down as soon as an Entity has started shutting down.")),
|
|
74
76
|
shardLockRefreshInterval: /*#__PURE__*/Config.duration("shardLockRefreshInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockRefreshInterval), /*#__PURE__*/Config.withDescription("Shard lock refresh interval.")),
|
|
75
77
|
shardLockExpiration: /*#__PURE__*/Config.duration("shardLockExpiration").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockExpiration), /*#__PURE__*/Config.withDescription("Shard lock expiration duration.")),
|
|
76
78
|
entityMailboxCapacity: /*#__PURE__*/Config.integer("entityMailboxCapacity").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMailboxCapacity), /*#__PURE__*/Config.withDescription("The default capacity of the mailbox for entities.")),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","runnerShardWeight","shardsPerGroup","shardGroups","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityTerminationTimeout","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","runnerHealthCheckInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","
|
|
1
|
+
{"version":3,"file":"ShardingConfig.js","names":["Config","ConfigProvider","Context","Duration","Effect","Layer","Option","RunnerAddress","ShardingConfig","Tag","defaultRunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","runnerShardWeight","shardsPerGroup","shardGroups","preemptiveShutdown","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityTerminationTimeout","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","runnerHealthCheckInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","boolean","duration","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Singleton.js
CHANGED
|
@@ -8,7 +8,7 @@ import { Sharding } from "./Sharding.js";
|
|
|
8
8
|
* @since 1.0.0
|
|
9
9
|
* @category constructors
|
|
10
10
|
*/
|
|
11
|
-
export const make = (name, run, options) => Layer.
|
|
11
|
+
export const make = (name, run, options) => Layer.scopedDiscard(Effect.gen(function* () {
|
|
12
12
|
const sharding = yield* Sharding;
|
|
13
13
|
yield* sharding.registerSingleton(name, run, options);
|
|
14
14
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Singleton.js","names":["Effect","Layer","Sharding","make","name","run","options","
|
|
1
|
+
{"version":3,"file":"Singleton.js","names":["Effect","Layer","Sharding","make","name","run","options","scopedDiscard","gen","sharding","registerSingleton"],"sources":["../../src/Singleton.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,SAASC,QAAQ,QAAQ,eAAe;AAExC;;;;AAIA,OAAO,MAAMC,IAAI,GAAGA,CAClBC,IAAY,EACZC,GAA8B,EAC9BC,OAEC,KAEDL,KAAK,CAACM,aAAa,CAACP,MAAM,CAACQ,GAAG,CAAC,aAAS;EACtC,MAAMC,QAAQ,GAAG,OAAOP,QAAQ;EAChC,OAAOO,QAAQ,CAACC,iBAAiB,CAACN,IAAI,EAAEC,GAAG,EAAEC,OAAO,CAAC;AACvD,CAAC,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect/cluster",
|
|
3
|
-
"version": "0.52.
|
|
3
|
+
"version": "0.52.3",
|
|
4
4
|
"description": "Unified interfaces for common cluster-specific services",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -12,10 +12,10 @@
|
|
|
12
12
|
"homepage": "https://effect.website",
|
|
13
13
|
"peerDependencies": {
|
|
14
14
|
"@effect/platform": "^0.93.0",
|
|
15
|
+
"@effect/sql": "^0.48.0",
|
|
16
|
+
"@effect/workflow": "^0.12.2",
|
|
15
17
|
"@effect/rpc": "^0.72.1",
|
|
16
|
-
"
|
|
17
|
-
"effect": "^3.19.0",
|
|
18
|
-
"@effect/sql": "^0.48.0"
|
|
18
|
+
"effect": "^3.19.1"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"provenance": true
|
|
@@ -26,6 +26,7 @@ import type * as Record from "effect/Record"
|
|
|
26
26
|
import * as Runtime from "effect/Runtime"
|
|
27
27
|
import * as Schedule from "effect/Schedule"
|
|
28
28
|
import * as Schema from "effect/Schema"
|
|
29
|
+
import type * as Scope from "effect/Scope"
|
|
29
30
|
import * as ClusterSchema from "./ClusterSchema.js"
|
|
30
31
|
import * as DeliverAt from "./DeliverAt.js"
|
|
31
32
|
import * as Entity from "./Entity.js"
|
|
@@ -243,16 +244,8 @@ export const make = Effect.gen(function*() {
|
|
|
243
244
|
register(workflow, execute) {
|
|
244
245
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
245
246
|
const engine = this
|
|
246
|
-
return Effect.suspend(() =>
|
|
247
|
-
|
|
248
|
-
return Effect.logWarning(`Workflow ${workflow.name} already registered`).pipe(
|
|
249
|
-
Effect.annotateLogs({
|
|
250
|
-
package: "@effect/cluster",
|
|
251
|
-
module: "ClusterWorkflowEngine"
|
|
252
|
-
})
|
|
253
|
-
)
|
|
254
|
-
}
|
|
255
|
-
return sharding.registerEntity(
|
|
247
|
+
return Effect.suspend(() =>
|
|
248
|
+
sharding.registerEntity(
|
|
256
249
|
ensureEntity(workflow),
|
|
257
250
|
Effect.gen(function*() {
|
|
258
251
|
const address = yield* Entity.CurrentAddress
|
|
@@ -347,8 +340,8 @@ export const make = Effect.gen(function*() {
|
|
|
347
340
|
resume: () => ensureSuccess(resume(workflow, executionId))
|
|
348
341
|
}
|
|
349
342
|
})
|
|
350
|
-
) as Effect.Effect<void>
|
|
351
|
-
|
|
343
|
+
) as Effect.Effect<void, never, Scope.Scope>
|
|
344
|
+
)
|
|
352
345
|
},
|
|
353
346
|
|
|
354
347
|
execute: ({ discard, executionId, parent, payload, workflow }) => {
|
|
@@ -429,14 +422,16 @@ export const make = Effect.gen(function*() {
|
|
|
429
422
|
const instance = Context.get(context, WorkflowInstance)
|
|
430
423
|
yield* Effect.annotateCurrentSpan("executionId", instance.executionId)
|
|
431
424
|
const activityId = `${instance.executionId}/${activity.name}`
|
|
432
|
-
activities.set(activityId, { activity, runtime })
|
|
433
|
-
const latch = activityLatches.get(activityId)
|
|
434
|
-
if (latch) {
|
|
435
|
-
yield* latch.release
|
|
436
|
-
activityLatches.delete(activityId)
|
|
437
|
-
}
|
|
438
425
|
const client = (yield* RcMap.get(clientsPartial, instance.workflow.name))(instance.executionId)
|
|
439
426
|
while (true) {
|
|
427
|
+
if (!activities.has(activityId)) {
|
|
428
|
+
activities.set(activityId, { activity, runtime })
|
|
429
|
+
const latch = activityLatches.get(activityId)
|
|
430
|
+
if (latch) {
|
|
431
|
+
yield* latch.release
|
|
432
|
+
activityLatches.delete(activityId)
|
|
433
|
+
}
|
|
434
|
+
}
|
|
440
435
|
const result = yield* Effect.orDie(client.activity({ name: activity.name, attempt }))
|
|
441
436
|
// If the activity has suspended and did not execute, we need to resume
|
|
442
437
|
// it by resetting the attempt and re-executing.
|
package/src/Entity.ts
CHANGED
package/src/Sharding.ts
CHANGED
|
@@ -11,6 +11,7 @@ import type { DurationInput } from "effect/Duration"
|
|
|
11
11
|
import * as Effect from "effect/Effect"
|
|
12
12
|
import * as Either from "effect/Either"
|
|
13
13
|
import * as Equal from "effect/Equal"
|
|
14
|
+
import type * as Exit from "effect/Exit"
|
|
14
15
|
import * as Fiber from "effect/Fiber"
|
|
15
16
|
import * as FiberMap from "effect/FiberMap"
|
|
16
17
|
import * as FiberRef from "effect/FiberRef"
|
|
@@ -122,7 +123,10 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
|
|
|
122
123
|
) => Effect.Effect<
|
|
123
124
|
void,
|
|
124
125
|
never,
|
|
125
|
-
|
|
126
|
+
| Scope.Scope
|
|
127
|
+
| Rpc.Context<Rpcs>
|
|
128
|
+
| Rpc.Middleware<Rpcs>
|
|
129
|
+
| Exclude<RX, Scope.Scope | CurrentAddress | CurrentRunnerAddress>
|
|
126
130
|
>
|
|
127
131
|
|
|
128
132
|
/**
|
|
@@ -134,7 +138,7 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
|
|
|
134
138
|
options?: {
|
|
135
139
|
readonly shardGroup?: string | undefined
|
|
136
140
|
}
|
|
137
|
-
) => Effect.Effect<void, never,
|
|
141
|
+
) => Effect.Effect<void, never, R | Scope.Scope>
|
|
138
142
|
|
|
139
143
|
/**
|
|
140
144
|
* Sends a message to the specified entity.
|
|
@@ -187,9 +191,8 @@ export class Sharding extends Context.Tag("@effect/cluster/Sharding")<Sharding,
|
|
|
187
191
|
|
|
188
192
|
interface EntityManagerState {
|
|
189
193
|
readonly entity: Entity<any, any>
|
|
190
|
-
readonly scope: Scope.CloseableScope
|
|
191
194
|
readonly manager: EntityManager.EntityManager
|
|
192
|
-
|
|
195
|
+
status: "alive" | "closing" | "closed"
|
|
193
196
|
}
|
|
194
197
|
|
|
195
198
|
const make = Effect.gen(function*() {
|
|
@@ -421,12 +424,6 @@ const make = Effect.gen(function*() {
|
|
|
421
424
|
const send = Effect.catchAllCause(
|
|
422
425
|
Effect.suspend(() => {
|
|
423
426
|
const message = messages[index]
|
|
424
|
-
// if we are shutting down, we don't accept new requests
|
|
425
|
-
if (message._tag === "IncomingRequest" && isShutdown.current) {
|
|
426
|
-
if (isShutdown.current) {
|
|
427
|
-
return Effect.void
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
427
|
const address = message.envelope.address
|
|
431
428
|
if (!MutableHashSet.has(acquiredShards, address.shardId)) {
|
|
432
429
|
return Effect.void
|
|
@@ -436,17 +433,19 @@ const make = Effect.gen(function*() {
|
|
|
436
433
|
// reset address in the case that the entity is slow to register
|
|
437
434
|
MutableHashSet.add(resetAddresses, address)
|
|
438
435
|
return Effect.void
|
|
439
|
-
} else if (state.closed) {
|
|
436
|
+
} else if (state.status === "closed") {
|
|
440
437
|
return Effect.void
|
|
441
438
|
}
|
|
442
439
|
|
|
443
440
|
const isProcessing = state.manager.isProcessingFor(message)
|
|
444
441
|
|
|
445
|
-
// If the message might affect a currently processing request, we
|
|
446
|
-
// send it to the entity manager to be processed.
|
|
447
442
|
if (message._tag === "IncomingEnvelope" && isProcessing) {
|
|
443
|
+
// If the message might affect a currently processing request, we
|
|
444
|
+
// send it to the entity manager to be processed.
|
|
448
445
|
return state.manager.send(message)
|
|
449
|
-
} else if (isProcessing) {
|
|
446
|
+
} else if (isProcessing || state.status === "closing") {
|
|
447
|
+
// If the request is already processing, we skip it.
|
|
448
|
+
// Or if the entity is closing, we skip all incoming messages.
|
|
450
449
|
return Effect.void
|
|
451
450
|
} else if (message._tag === "IncomingRequest" && pendingNotifications.has(message.envelope.requestId)) {
|
|
452
451
|
const entry = pendingNotifications.get(message.envelope.requestId)!
|
|
@@ -691,7 +690,7 @@ const make = Effect.gen(function*() {
|
|
|
691
690
|
const state = entityManagers.get(address.entityType)
|
|
692
691
|
if (!state) {
|
|
693
692
|
return Effect.flatMap(waitForEntityManager(address.entityType), loop)
|
|
694
|
-
} else if (state.closed || (
|
|
693
|
+
} else if (state.status === "closed" || (state.status === "closing" && message._tag === "IncomingRequest")) {
|
|
695
694
|
// if we are shutting down, we don't accept new requests
|
|
696
695
|
return Effect.fail(new EntityNotAssignedToRunner({ address }))
|
|
697
696
|
}
|
|
@@ -727,7 +726,7 @@ const make = Effect.gen(function*() {
|
|
|
727
726
|
const state = entityManagers.get(address.entityType)
|
|
728
727
|
if (!state) {
|
|
729
728
|
return Effect.flatMap(waitForEntityManager(address.entityType), loop)
|
|
730
|
-
} else if (state.closed || !isEntityOnLocalShards(address)) {
|
|
729
|
+
} else if (state.status === "closed" || !isEntityOnLocalShards(address)) {
|
|
731
730
|
return Effect.fail(new EntityNotAssignedToRunner({ address }))
|
|
732
731
|
}
|
|
733
732
|
|
|
@@ -1180,6 +1179,12 @@ const make = Effect.gen(function*() {
|
|
|
1180
1179
|
yield* Effect.logDebug("Starting singleton", address)
|
|
1181
1180
|
yield* FiberMap.run(singletonFibers, address, wrappedRun)
|
|
1182
1181
|
}
|
|
1182
|
+
|
|
1183
|
+
yield* Effect.addFinalizer(() => {
|
|
1184
|
+
const map = singletons.get(address.shardId)!
|
|
1185
|
+
MutableHashMap.remove(map, address)
|
|
1186
|
+
return FiberMap.remove(singletonFibers, address)
|
|
1187
|
+
})
|
|
1183
1188
|
},
|
|
1184
1189
|
withSingletonLock
|
|
1185
1190
|
)
|
|
@@ -1214,11 +1219,11 @@ const make = Effect.gen(function*() {
|
|
|
1214
1219
|
const registerEntity: Sharding["Type"]["registerEntity"] = Effect.fnUntraced(
|
|
1215
1220
|
function*(entity, build, options) {
|
|
1216
1221
|
if (Option.isNone(config.runnerAddress) || entityManagers.has(entity.type)) return
|
|
1217
|
-
const scope = yield*
|
|
1222
|
+
const scope = yield* Effect.scope
|
|
1218
1223
|
yield* Scope.addFinalizer(
|
|
1219
1224
|
scope,
|
|
1220
1225
|
Effect.sync(() => {
|
|
1221
|
-
state.
|
|
1226
|
+
state.status = "closed"
|
|
1222
1227
|
})
|
|
1223
1228
|
)
|
|
1224
1229
|
const manager = yield* EntityManager.make(entity, build, {
|
|
@@ -1235,10 +1240,19 @@ const make = Effect.gen(function*() {
|
|
|
1235
1240
|
) as Effect.Effect<EntityManager.EntityManager>
|
|
1236
1241
|
const state: EntityManagerState = {
|
|
1237
1242
|
entity,
|
|
1238
|
-
|
|
1239
|
-
closed: false,
|
|
1243
|
+
status: "alive",
|
|
1240
1244
|
manager
|
|
1241
1245
|
}
|
|
1246
|
+
yield* Scope.addFinalizer(
|
|
1247
|
+
scope,
|
|
1248
|
+
Effect.fiberIdWith((id) => {
|
|
1249
|
+
state.status = "closing"
|
|
1250
|
+
internalInterruptors.add(id)
|
|
1251
|
+
// if preemptive shutdown is enabled, we start shutting down Sharding
|
|
1252
|
+
// too
|
|
1253
|
+
return config.preemptiveShutdown ? shutdown() : Effect.void
|
|
1254
|
+
})
|
|
1255
|
+
)
|
|
1242
1256
|
|
|
1243
1257
|
// register entities while storage is idle
|
|
1244
1258
|
// this ensures message order is preserved
|
|
@@ -1254,20 +1268,6 @@ const make = Effect.gen(function*() {
|
|
|
1254
1268
|
}
|
|
1255
1269
|
)
|
|
1256
1270
|
|
|
1257
|
-
yield* Scope.addFinalizerExit(
|
|
1258
|
-
shardingScope,
|
|
1259
|
-
(exit) =>
|
|
1260
|
-
Effect.forEach(
|
|
1261
|
-
entityManagers.values(),
|
|
1262
|
-
(state) =>
|
|
1263
|
-
Effect.catchAllCause(Scope.close(state.scope, exit), (cause) =>
|
|
1264
|
-
Effect.annotateLogs(Effect.logError("Error closing entity manager", cause), {
|
|
1265
|
-
entity: state.entity.type
|
|
1266
|
-
})),
|
|
1267
|
-
{ concurrency: "unbounded", discard: true }
|
|
1268
|
-
)
|
|
1269
|
-
)
|
|
1270
|
-
|
|
1271
1271
|
const waitForEntityManager = (entityType: string) => {
|
|
1272
1272
|
let latch = entityManagerLatches.get(entityType)
|
|
1273
1273
|
if (!latch) {
|
|
@@ -1323,23 +1323,27 @@ const make = Effect.gen(function*() {
|
|
|
1323
1323
|
|
|
1324
1324
|
// --- Finalization ---
|
|
1325
1325
|
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
yield* Effect.logDebug("Shutting down", exit._tag === "Success" ? {} : exit.cause).pipe(
|
|
1326
|
+
const shutdown = Effect.fnUntraced(function*(exit?: Exit.Exit<unknown, unknown>) {
|
|
1327
|
+
if (exit) {
|
|
1328
|
+
yield* Effect.logDebug("Shutting down", exit._tag === "Failure" ? exit.cause : {}).pipe(
|
|
1330
1329
|
Effect.annotateLogs({
|
|
1331
1330
|
package: "@effect/cluster",
|
|
1332
1331
|
module: "Sharding"
|
|
1333
1332
|
})
|
|
1334
1333
|
)
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1334
|
+
}
|
|
1335
|
+
|
|
1336
|
+
const fiberId = yield* Effect.fiberId
|
|
1337
|
+
internalInterruptors.add(fiberId)
|
|
1338
|
+
if (isShutdown.current) return
|
|
1339
|
+
|
|
1340
|
+
MutableRef.set(isShutdown, true)
|
|
1341
|
+
if (selfRunner) {
|
|
1342
|
+
yield* Effect.ignore(runnerStorage.unregister(selfRunner.address))
|
|
1343
|
+
}
|
|
1344
|
+
})
|
|
1345
|
+
|
|
1346
|
+
yield* Scope.addFinalizerExit(shardingScope, shutdown)
|
|
1343
1347
|
|
|
1344
1348
|
const activeEntityCount = Effect.gen(function*() {
|
|
1345
1349
|
let count = 0
|
package/src/ShardingConfig.ts
CHANGED
|
@@ -63,6 +63,12 @@ export class ShardingConfig extends Context.Tag("@effect/cluster/ShardingConfig"
|
|
|
63
63
|
* Shard lock expiration duration.
|
|
64
64
|
*/
|
|
65
65
|
readonly shardLockExpiration: DurationInput
|
|
66
|
+
/**
|
|
67
|
+
* Start shutting down as soon as an Entity has started shutting down.
|
|
68
|
+
*
|
|
69
|
+
* Defaults to `true`.
|
|
70
|
+
*/
|
|
71
|
+
readonly preemptiveShutdown: boolean
|
|
66
72
|
/**
|
|
67
73
|
* The default capacity of the mailbox for entities.
|
|
68
74
|
*/
|
|
@@ -118,6 +124,7 @@ export const defaults: ShardingConfig["Type"] = {
|
|
|
118
124
|
runnerShardWeight: 1,
|
|
119
125
|
shardsPerGroup: 300,
|
|
120
126
|
shardGroups: ["default"],
|
|
127
|
+
preemptiveShutdown: true,
|
|
121
128
|
shardLockRefreshInterval: Duration.seconds(10),
|
|
122
129
|
shardLockExpiration: Duration.seconds(35),
|
|
123
130
|
entityMailboxCapacity: 4096,
|
|
@@ -179,6 +186,10 @@ export const config: Config.Config<ShardingConfig["Type"]> = Config.all({
|
|
|
179
186
|
Config.withDefault(defaults.shardsPerGroup),
|
|
180
187
|
Config.withDescription("The number of shards to allocate per shard group.")
|
|
181
188
|
),
|
|
189
|
+
preemptiveShutdown: Config.boolean("preemptiveShutdown").pipe(
|
|
190
|
+
Config.withDefault(defaults.preemptiveShutdown),
|
|
191
|
+
Config.withDescription("Start shutting down as soon as an Entity has started shutting down.")
|
|
192
|
+
),
|
|
182
193
|
shardLockRefreshInterval: Config.duration("shardLockRefreshInterval").pipe(
|
|
183
194
|
Config.withDefault(defaults.shardLockRefreshInterval),
|
|
184
195
|
Config.withDescription("Shard lock refresh interval.")
|