@effect/cluster 0.52.4 → 0.52.6
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/Sharding.js +49 -28
- package/dist/cjs/Sharding.js.map +1 -1
- package/dist/cjs/SqlRunnerStorage.js +29 -30
- package/dist/cjs/SqlRunnerStorage.js.map +1 -1
- package/dist/cjs/internal/entityManager.js +6 -2
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/dts/Sharding.d.ts.map +1 -1
- package/dist/dts/SqlRunnerStorage.d.ts +2 -1
- package/dist/dts/SqlRunnerStorage.d.ts.map +1 -1
- package/dist/esm/Sharding.js +49 -28
- package/dist/esm/Sharding.js.map +1 -1
- package/dist/esm/SqlRunnerStorage.js +29 -30
- package/dist/esm/SqlRunnerStorage.js.map +1 -1
- package/dist/esm/internal/entityManager.js +6 -2
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/package.json +4 -4
- package/src/Sharding.ts +73 -35
- package/src/SqlRunnerStorage.ts +44 -47
- package/src/internal/entityManager.ts +12 -2
|
@@ -6,8 +6,9 @@ import * as Arr from "effect/Array";
|
|
|
6
6
|
import * as Duration from "effect/Duration";
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Layer from "effect/Layer";
|
|
9
|
-
import * as
|
|
9
|
+
import * as Scope from "effect/Scope";
|
|
10
10
|
import { PersistenceError } from "./ClusterError.js";
|
|
11
|
+
import { ResourceRef } from "./internal/resourceRef.js";
|
|
11
12
|
import * as RunnerStorage from "./RunnerStorage.js";
|
|
12
13
|
import * as ShardId from "./ShardId.js";
|
|
13
14
|
import * as ShardingConfig from "./ShardingConfig.js";
|
|
@@ -22,19 +23,19 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
22
23
|
const prefix = options?.prefix ?? "cluster";
|
|
23
24
|
const table = name => `${prefix}_${name}`;
|
|
24
25
|
const acquireLockConn = sql.onDialectOrElse({
|
|
25
|
-
pg: () => Effect.
|
|
26
|
-
const conn = yield* Effect.orDie(sql.reserve);
|
|
27
|
-
yield*
|
|
26
|
+
pg: () => Effect.fnUntraced(function* (scope) {
|
|
27
|
+
const conn = yield* Effect.orDie(sql.reserve).pipe(Scope.extend(scope));
|
|
28
|
+
yield* Scope.addFinalizerExit(scope, () => Effect.orDie(conn.executeRaw("SELECT pg_advisory_unlock_all()", [])));
|
|
28
29
|
return conn;
|
|
29
30
|
}),
|
|
30
|
-
mysql: () => Effect.
|
|
31
|
-
const conn = yield* Effect.orDie(sql.reserve);
|
|
32
|
-
yield*
|
|
31
|
+
mysql: () => Effect.fnUntraced(function* (scope) {
|
|
32
|
+
const conn = yield* Effect.orDie(sql.reserve).pipe(Scope.extend(scope));
|
|
33
|
+
yield* Scope.addFinalizerExit(scope, () => Effect.orDie(conn.executeRaw("SELECT RELEASE_ALL_LOCKS()", [])));
|
|
33
34
|
return conn;
|
|
34
35
|
}),
|
|
35
36
|
orElse: () => undefined
|
|
36
37
|
});
|
|
37
|
-
const
|
|
38
|
+
const lockConn = acquireLockConn && (yield* ResourceRef.from(yield* Effect.scope, acquireLockConn));
|
|
38
39
|
const runnersTable = table("runners");
|
|
39
40
|
const runnersTableSql = sql(runnersTable);
|
|
40
41
|
// Migrate old tables if they exist
|
|
@@ -175,18 +176,18 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
175
176
|
`.values
|
|
176
177
|
});
|
|
177
178
|
const execWithLockConn = effect => {
|
|
178
|
-
if (!
|
|
179
|
+
if (!lockConn) return effect;
|
|
179
180
|
const [query, params] = effect.compile();
|
|
180
|
-
return
|
|
181
|
+
return lockConn.await.pipe(Effect.flatMap(conn => conn.executeRaw(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
|
|
181
182
|
};
|
|
182
183
|
const execWithLockConnValues = effect => {
|
|
183
|
-
if (!
|
|
184
|
+
if (!lockConn) return effect.values;
|
|
184
185
|
const [query, params] = effect.compile();
|
|
185
|
-
return
|
|
186
|
+
return lockConn.await.pipe(Effect.flatMap(conn => conn.executeValues(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
|
|
186
187
|
};
|
|
187
188
|
const acquireLock = sql.onDialectOrElse({
|
|
188
189
|
pg: () => Effect.fnUntraced(function* (_address, shardIds) {
|
|
189
|
-
const conn = yield*
|
|
190
|
+
const conn = yield* lockConn.await;
|
|
190
191
|
const acquiredShardIds = [];
|
|
191
192
|
const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
|
|
192
193
|
const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() ORDER BY objid`, []);
|
|
@@ -206,9 +207,9 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
206
207
|
}
|
|
207
208
|
}
|
|
208
209
|
return acquiredShardIds;
|
|
209
|
-
}, Effect.onError(() =>
|
|
210
|
+
}, Effect.onError(() => lockConn.unsafeRebuild())),
|
|
210
211
|
mysql: () => Effect.fnUntraced(function* (_address, shardIds) {
|
|
211
|
-
const conn = yield*
|
|
212
|
+
const conn = yield* lockConn.await;
|
|
212
213
|
const takenLocks = (yield* conn.executeUnprepared(`SELECT ${allMySqlTakenLocks}`, [], undefined))[0];
|
|
213
214
|
const acquiredShardIds = [];
|
|
214
215
|
const toAcquire = [];
|
|
@@ -229,7 +230,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
229
230
|
}
|
|
230
231
|
}
|
|
231
232
|
return acquiredShardIds;
|
|
232
|
-
}, Effect.onError(() =>
|
|
233
|
+
}, Effect.onError(() => lockConn.unsafeRebuild())),
|
|
233
234
|
mssql: () => (address, shardIds) => {
|
|
234
235
|
const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
|
|
235
236
|
return sql`
|
|
@@ -325,27 +326,25 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
|
|
|
325
326
|
release: sql.onDialectOrElse({
|
|
326
327
|
pg: () => Effect.fnUntraced(function* (_address, shardId) {
|
|
327
328
|
const lockNum = lockNumbers.get(shardId);
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
yield* release;
|
|
333
|
-
const takenLocks = yield* check;
|
|
329
|
+
for (let i = 0; i < 5; i++) {
|
|
330
|
+
const conn = yield* lockConn.await;
|
|
331
|
+
yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
|
|
332
|
+
const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
|
|
334
333
|
if (takenLocks.length === 0) return;
|
|
335
334
|
}
|
|
336
|
-
|
|
335
|
+
const conn = yield* lockConn.await;
|
|
336
|
+
yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
|
|
337
|
+
}, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail),
|
|
337
338
|
mysql: () => Effect.fnUntraced(function* (_address, shardId) {
|
|
338
|
-
const conn = yield* Resource.get(lockConnRef);
|
|
339
339
|
const lockName = lockNames.get(shardId);
|
|
340
|
-
const release = conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
|
|
341
|
-
const check = conn.executeValues(`SELECT IS_USED_LOCK('${lockName}') = CONNECTION_ID() AS is_taken`, []);
|
|
342
340
|
while (true) {
|
|
343
|
-
yield*
|
|
344
|
-
|
|
341
|
+
const conn = yield* lockConn.await;
|
|
342
|
+
yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
|
|
343
|
+
const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}') = CONNECTION_ID() AS is_taken`, []);
|
|
345
344
|
if (takenLocks.length === 0 || takenLocks[0][0] !== 1) return;
|
|
346
345
|
}
|
|
347
|
-
}, Effect.
|
|
348
|
-
orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail
|
|
346
|
+
}, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail),
|
|
347
|
+
orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail)
|
|
349
348
|
}),
|
|
350
349
|
releaseAll: sql.onDialectOrElse({
|
|
351
350
|
pg: () => _address => sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","Arr","Duration","Effect","Layer","Resource","PersistenceError","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","gen","conn","orDie","reserve","addFinalizer","executeRaw","mysql","orElse","undefined","lockConnRef","manual","runnersTable","runnersTableSql","hasOldTables","pipe","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","get","flatMap","onError","refresh","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","from","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","as","release","timeoutOption","seconds","check","timeout","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","Arr","Duration","Effect","Layer","Scope","PersistenceError","ResourceRef","RunnerStorage","ShardId","ShardingConfig","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","scope","conn","orDie","reserve","pipe","extend","addFinalizerExit","executeRaw","mysql","orElse","undefined","lockConn","from","runnersTable","runnersTableSql","hasOldTables","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","Math","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","address","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","unsafeRebuild","execWithLockConnValues","executeValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","get","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","lockName","shardIdsMap","Array","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","refail","String","Boolean","register","Number","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import * as Duration from "effect/Duration";
|
|
|
7
7
|
import * as Effect from "effect/Effect";
|
|
8
8
|
import * as Equal from "effect/Equal";
|
|
9
9
|
import * as Exit from "effect/Exit";
|
|
10
|
+
import * as FiberMap from "effect/FiberMap";
|
|
10
11
|
import * as FiberRef from "effect/FiberRef";
|
|
11
12
|
import { identity } from "effect/Function";
|
|
12
13
|
import * as HashMap from "effect/HashMap";
|
|
@@ -54,7 +55,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
|
|
|
54
55
|
yield* Scope.addFinalizerExit(scope, () => {
|
|
55
56
|
serverCloseLatches.get(address)?.unsafeOpen();
|
|
56
57
|
serverCloseLatches.delete(address);
|
|
57
|
-
return Effect.
|
|
58
|
+
return Effect.void;
|
|
58
59
|
});
|
|
59
60
|
const activeRequests = new Map();
|
|
60
61
|
let defectRequestIds = [];
|
|
@@ -284,11 +285,14 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
|
|
|
284
285
|
}
|
|
285
286
|
}), FiberRef.currentLogAnnotations, HashMap.empty());
|
|
286
287
|
}
|
|
288
|
+
const entityRemovalMap = yield* FiberMap.make();
|
|
287
289
|
const interruptShard = shardId => Effect.suspend(function loop() {
|
|
288
290
|
const toAwait = Arr.empty();
|
|
289
291
|
activeServers.forEach(state => {
|
|
290
292
|
if (shardId[Equal.symbol](state.address.shardId)) {
|
|
291
|
-
toAwait.push(entities.removeIgnore(state.address)
|
|
293
|
+
toAwait.push(FiberMap.run(entityRemovalMap, state.address, entities.removeIgnore(state.address), {
|
|
294
|
+
onlyIfMissing: true
|
|
295
|
+
}));
|
|
292
296
|
}
|
|
293
297
|
});
|
|
294
298
|
serverCloseLatches.forEach((latch, address) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entityManager.js","names":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Equal","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","Uninterruptible","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","retryDriver","driver","defectRetryPolicy","andThen","defaultRetryPolicy","activeServers","Map","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeLatch","addFinalizerExit","get","unsafeOpen","delete","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","_tag","request","requestId","void","sentReply","rpc","annotations","isFailure","exit","isInterrupted","forServer","write","message","envelope","id","tag","payload","lastSentChunk","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","unsafeNext","flatMap","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","extend","addFinalizer","sync","length","cause","has","effect","unsafeRebuild","Array","keys","logError","next","annotateLogs","module","runner","catchAllCause","clientId","current","await","value","withFiberRuntime","fiber","set","unsafeMakeLatch","interruptible","timeoutOption","entityTerminationTimeout","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","tagged","unsafeUpdate","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","loop","toAwait","forEach","symbol","push","removeIgnore","latch","all","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","excludeReplies","undefined","clearProcessed","clear","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","exponential","union","spaced","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","Equal","Exit","FiberMap","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","EntityNotAssignedToRunner","MailboxFull","MalformedMessage","ClusterMetrics","Persisted","Uninterruptible","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","retryDriver","driver","defectRetryPolicy","andThen","defaultRetryPolicy","activeServers","Map","serverCloseLatches","processedRequestIds","Set","entities","address","sharding","hasShardId","shardId","endLatch","makeLatch","addFinalizerExit","get","unsafeOpen","delete","void","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","spanAttributes","concurrency","disableFatalDefects","onFromServer","response","_tag","request","requestId","sentReply","rpc","annotations","isFailure","exit","isInterrupted","forServer","write","message","envelope","id","tag","payload","lastSentChunk","forkIn","unregisterReplyHandler","retryRespond","suspend","respond","WithExit","unsafeNext","flatMap","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","some","onDefect","die","defect","open","extend","addFinalizer","sync","length","cause","has","effect","unsafeRebuild","Array","keys","logError","ignore","next","annotateLogs","module","runner","catchAllCause","clientId","current","await","value","withFiberRuntime","fiber","set","unsafeMakeLatch","interruptible","timeoutOption","entityTerminationTimeout","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","tagged","unsafeUpdate","BigInt","sleep","forever","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","entityRemovalMap","interruptShard","loop","toAwait","forEach","symbol","push","run","removeIgnore","onlyIfMissing","latch","all","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","excludeReplies","undefined","clearProcessed","clear","send","matchEffect","onFailure","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","exponential","union","spaced","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.52.
|
|
3
|
+
"version": "0.52.6",
|
|
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/rpc": "^0.72.1",
|
|
16
15
|
"@effect/sql": "^0.48.0",
|
|
17
|
-
"effect": "^3.19.
|
|
18
|
-
"@effect/workflow": "^0.12.2"
|
|
16
|
+
"effect": "^3.19.2",
|
|
17
|
+
"@effect/workflow": "^0.12.2",
|
|
18
|
+
"@effect/rpc": "^0.72.1"
|
|
19
19
|
},
|
|
20
20
|
"publishConfig": {
|
|
21
21
|
"provenance": true
|
package/src/Sharding.ts
CHANGED
|
@@ -8,12 +8,12 @@ import * as Arr from "effect/Array"
|
|
|
8
8
|
import * as Cause from "effect/Cause"
|
|
9
9
|
import * as Context from "effect/Context"
|
|
10
10
|
import type { DurationInput } from "effect/Duration"
|
|
11
|
+
import * as Duration from "effect/Duration"
|
|
11
12
|
import * as Effect from "effect/Effect"
|
|
12
13
|
import * as Either from "effect/Either"
|
|
13
14
|
import * as Equal from "effect/Equal"
|
|
14
15
|
import type * as Exit from "effect/Exit"
|
|
15
16
|
import * as Fiber from "effect/Fiber"
|
|
16
|
-
import * as FiberHandle from "effect/FiberHandle"
|
|
17
17
|
import * as FiberMap from "effect/FiberMap"
|
|
18
18
|
import * as FiberRef from "effect/FiberRef"
|
|
19
19
|
import * as FiberSet from "effect/FiberSet"
|
|
@@ -237,6 +237,14 @@ const make = Effect.gen(function*() {
|
|
|
237
237
|
return MutableHashSet.has(acquiredShards, address.shardId)
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
+
yield* Scope.addFinalizer(
|
|
241
|
+
shardingScope,
|
|
242
|
+
Effect.logDebug("Shutdown complete").pipe(Effect.annotateLogs({
|
|
243
|
+
package: "@effect/cluster",
|
|
244
|
+
module: "Sharding"
|
|
245
|
+
}))
|
|
246
|
+
)
|
|
247
|
+
|
|
240
248
|
// --- Shard acquisition ---
|
|
241
249
|
//
|
|
242
250
|
// Responsible for acquiring and releasing shards from RunnerStorage.
|
|
@@ -252,6 +260,52 @@ const make = Effect.gen(function*() {
|
|
|
252
260
|
return Effect.ignore(runnerStorage.releaseAll(selfAddress))
|
|
253
261
|
})
|
|
254
262
|
|
|
263
|
+
const releaseShardsMap = yield* FiberMap.make<ShardId>()
|
|
264
|
+
const releaseShard = Effect.fnUntraced(
|
|
265
|
+
function*(shardId: ShardId) {
|
|
266
|
+
yield* Effect.forEach(
|
|
267
|
+
entityManagers.values(),
|
|
268
|
+
(state) =>
|
|
269
|
+
state.status === "closed" ? Effect.void : state.manager.interruptShard(shardId).pipe(
|
|
270
|
+
Effect.withSpan("EntityManager.interruptShard", {
|
|
271
|
+
captureStackTrace: false,
|
|
272
|
+
attributes: { entityType: state.entity.type }
|
|
273
|
+
})
|
|
274
|
+
),
|
|
275
|
+
{ concurrency: "unbounded", discard: true }
|
|
276
|
+
).pipe(
|
|
277
|
+
Effect.timeout(config.entityTerminationTimeout)
|
|
278
|
+
)
|
|
279
|
+
yield* runnerStorage.release(selfAddress, shardId)
|
|
280
|
+
MutableHashSet.remove(releasingShards, shardId)
|
|
281
|
+
yield* storage.unregisterShardReplyHandlers(shardId)
|
|
282
|
+
},
|
|
283
|
+
Effect.sandbox,
|
|
284
|
+
Effect.tapError((cause) => Effect.logDebug(`Could not release shard, retrying`, cause)),
|
|
285
|
+
Effect.eventually,
|
|
286
|
+
(effect, shardId) =>
|
|
287
|
+
effect.pipe(
|
|
288
|
+
Effect.annotateLogs({
|
|
289
|
+
package: "@effect/cluster",
|
|
290
|
+
module: "Sharding",
|
|
291
|
+
fiber: "releaseShard",
|
|
292
|
+
runner: selfAddress,
|
|
293
|
+
shardId
|
|
294
|
+
}),
|
|
295
|
+
Effect.withSpan("Sharding.releaseShard", { captureStackTrace: false }),
|
|
296
|
+
Effect.annotateSpans({
|
|
297
|
+
shardId,
|
|
298
|
+
runner: selfAddress
|
|
299
|
+
}),
|
|
300
|
+
FiberMap.run(releaseShardsMap, shardId, { onlyIfMissing: true })
|
|
301
|
+
)
|
|
302
|
+
)
|
|
303
|
+
const releaseShards = Effect.gen(function*() {
|
|
304
|
+
for (const shardId of releasingShards) {
|
|
305
|
+
yield* releaseShard(shardId)
|
|
306
|
+
}
|
|
307
|
+
})
|
|
308
|
+
|
|
255
309
|
yield* Effect.gen(function*() {
|
|
256
310
|
activeShardsLatch.unsafeOpen()
|
|
257
311
|
|
|
@@ -320,7 +374,8 @@ const make = Effect.gen(function*() {
|
|
|
320
374
|
fiber: "Shard acquisition loop",
|
|
321
375
|
runner: selfAddress
|
|
322
376
|
}),
|
|
323
|
-
Effect.forkIn(shardingScope)
|
|
377
|
+
Effect.forkIn(shardingScope),
|
|
378
|
+
Effect.interruptible
|
|
324
379
|
)
|
|
325
380
|
|
|
326
381
|
// refresh the shard locks every `shardLockRefreshInterval`
|
|
@@ -359,38 +414,16 @@ const make = Effect.gen(function*() {
|
|
|
359
414
|
),
|
|
360
415
|
Effect.repeat(Schedule.fixed(config.shardLockRefreshInterval)),
|
|
361
416
|
Effect.forever,
|
|
362
|
-
Effect.forkIn(shardingScope)
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
const releaseShardsHandle = yield* FiberHandle.make()
|
|
366
|
-
const releaseShards = Effect.suspend(() =>
|
|
367
|
-
Effect.forEach(
|
|
368
|
-
releasingShards,
|
|
369
|
-
(shardId) =>
|
|
370
|
-
Effect.forEach(
|
|
371
|
-
entityManagers.values(),
|
|
372
|
-
(state) => state.manager.interruptShard(shardId),
|
|
373
|
-
{ concurrency: "unbounded", discard: true }
|
|
374
|
-
).pipe(
|
|
375
|
-
Effect.andThen(runnerStorage.release(selfAddress, shardId)),
|
|
376
|
-
Effect.annotateLogs({ runner: selfAddress }),
|
|
377
|
-
Effect.flatMap(() => {
|
|
378
|
-
MutableHashSet.remove(releasingShards, shardId)
|
|
379
|
-
return storage.unregisterShardReplyHandlers(shardId)
|
|
380
|
-
})
|
|
381
|
-
),
|
|
382
|
-
{ concurrency: "unbounded", discard: true }
|
|
383
|
-
)
|
|
384
|
-
).pipe(
|
|
385
|
-
Effect.repeat({ until: () => MutableHashSet.size(releasingShards) === 0 }),
|
|
386
|
-
FiberHandle.run(releaseShardsHandle, { onlyIfMissing: true })
|
|
417
|
+
Effect.forkIn(shardingScope),
|
|
418
|
+
Effect.interruptible
|
|
387
419
|
)
|
|
388
420
|
|
|
389
421
|
// open the shard latch every poll interval
|
|
390
422
|
yield* activeShardsLatch.open.pipe(
|
|
391
423
|
Effect.delay(config.entityMessagePollInterval),
|
|
392
424
|
Effect.forever,
|
|
393
|
-
Effect.forkIn(shardingScope)
|
|
425
|
+
Effect.forkIn(shardingScope),
|
|
426
|
+
Effect.interruptible
|
|
394
427
|
)
|
|
395
428
|
}
|
|
396
429
|
|
|
@@ -555,14 +588,16 @@ const make = Effect.gen(function*() {
|
|
|
555
588
|
runner: selfAddress
|
|
556
589
|
}),
|
|
557
590
|
Effect.withUnhandledErrorLogLevel(Option.none()),
|
|
558
|
-
Effect.forkIn(shardingScope)
|
|
591
|
+
Effect.forkIn(shardingScope),
|
|
592
|
+
Effect.interruptible
|
|
559
593
|
)
|
|
560
594
|
|
|
561
595
|
// open the storage latch every poll interval
|
|
562
596
|
yield* storageReadLatch.open.pipe(
|
|
563
597
|
Effect.delay(config.entityMessagePollInterval),
|
|
564
598
|
Effect.forever,
|
|
565
|
-
Effect.forkIn(shardingScope)
|
|
599
|
+
Effect.forkIn(shardingScope),
|
|
600
|
+
Effect.interruptible
|
|
566
601
|
)
|
|
567
602
|
|
|
568
603
|
// Resume unprocessed messages for entities that reached a full mailbox.
|
|
@@ -682,7 +717,8 @@ const make = Effect.gen(function*() {
|
|
|
682
717
|
Effect.sync(() => MutableHashMap.remove(entityResumptionState, address))
|
|
683
718
|
),
|
|
684
719
|
Effect.withUnhandledErrorLogLevel(Option.none()),
|
|
685
|
-
Effect.forkIn(shardingScope)
|
|
720
|
+
Effect.forkIn(shardingScope),
|
|
721
|
+
Effect.interruptible
|
|
686
722
|
)
|
|
687
723
|
}
|
|
688
724
|
|
|
@@ -852,16 +888,17 @@ const make = Effect.gen(function*() {
|
|
|
852
888
|
const hashRings = new Map<string, HashRing.HashRing<RunnerAddress>>()
|
|
853
889
|
let nextRunners = MutableHashMap.empty<Runner, boolean>()
|
|
854
890
|
const healthyRunners = MutableHashSet.empty<Runner>()
|
|
891
|
+
const withTimeout = Effect.timeout(Duration.seconds(5))
|
|
855
892
|
|
|
856
893
|
while (true) {
|
|
857
894
|
// Ensure the current runner is registered
|
|
858
895
|
if (selfRunner && !isShutdown.current && !MutableHashMap.has(allRunners, selfRunner)) {
|
|
859
896
|
yield* Effect.logDebug("Registering runner", selfRunner)
|
|
860
|
-
const machineId = yield* runnerStorage.register(selfRunner, true)
|
|
897
|
+
const machineId = yield* withTimeout(runnerStorage.register(selfRunner, true))
|
|
861
898
|
yield* snowflakeGen.setMachineId(machineId)
|
|
862
899
|
}
|
|
863
900
|
|
|
864
|
-
const runners = yield* runnerStorage.getRunners
|
|
901
|
+
const runners = yield* withTimeout(runnerStorage.getRunners)
|
|
865
902
|
let changed = false
|
|
866
903
|
for (let i = 0; i < runners.length; i++) {
|
|
867
904
|
const [runner, healthy] = runners[i]
|
|
@@ -944,7 +981,7 @@ const make = Effect.gen(function*() {
|
|
|
944
981
|
yield* Effect.logWarning("No healthy runners available")
|
|
945
982
|
// to prevent a deadlock, we will mark the current node as healthy to
|
|
946
983
|
// start the health check singleton again
|
|
947
|
-
yield* runnerStorage.setRunnerHealth(selfRunner.address, true)
|
|
984
|
+
yield* withTimeout(runnerStorage.setRunnerHealth(selfRunner.address, true))
|
|
948
985
|
}
|
|
949
986
|
|
|
950
987
|
yield* Effect.sleep(config.refreshAssignmentsInterval)
|
|
@@ -958,7 +995,8 @@ const make = Effect.gen(function*() {
|
|
|
958
995
|
fiber: "RunnerStorage sync",
|
|
959
996
|
runner: config.runnerAddress
|
|
960
997
|
}),
|
|
961
|
-
Effect.forkIn(shardingScope)
|
|
998
|
+
Effect.forkIn(shardingScope),
|
|
999
|
+
Effect.interruptible
|
|
962
1000
|
)
|
|
963
1001
|
|
|
964
1002
|
// --- Clients ---
|