@effect/cluster 0.53.5 → 0.53.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.
@@ -42,6 +42,7 @@ const defaults = exports.defaults = {
42
42
  preemptiveShutdown: true,
43
43
  shardLockRefreshInterval: /*#__PURE__*/Duration.seconds(10),
44
44
  shardLockExpiration: /*#__PURE__*/Duration.seconds(35),
45
+ shardLockDisableAdvisory: false,
45
46
  entityMailboxCapacity: 4096,
46
47
  entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
47
48
  entityRegistrationTimeout: /*#__PURE__*/Duration.minutes(1),
@@ -86,6 +87,7 @@ const config = exports.config = /*#__PURE__*/Config.all({
86
87
  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.")),
87
88
  shardLockRefreshInterval: /*#__PURE__*/Config.duration("shardLockRefreshInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockRefreshInterval), /*#__PURE__*/Config.withDescription("Shard lock refresh interval.")),
88
89
  shardLockExpiration: /*#__PURE__*/Config.duration("shardLockExpiration").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockExpiration), /*#__PURE__*/Config.withDescription("Shard lock expiration duration.")),
90
+ shardLockDisableAdvisory: /*#__PURE__*/Config.boolean("shardLockDisableAdvisory").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockDisableAdvisory), /*#__PURE__*/Config.withDescription("Disable the use of advisory locks for shard locking.")),
89
91
  entityMailboxCapacity: /*#__PURE__*/Config.integer("entityMailboxCapacity").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMailboxCapacity), /*#__PURE__*/Config.withDescription("The default capacity of the mailbox for entities.")),
90
92
  entityMaxIdleTime: /*#__PURE__*/Config.duration("entityMaxIdleTime").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMaxIdleTime), /*#__PURE__*/Config.withDescription("The maximum duration of inactivity (i.e. without receiving a message) after which an entity will be interrupted.")),
91
93
  entityRegistrationTimeout: /*#__PURE__*/Config.duration("entityRegistrationTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.entityRegistrationTimeout), /*#__PURE__*/Config.withDescription("If an entity does not register itself within this time after a message is sent to it, the message will be marked as failed.")),
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingConfig.js","names":["Config","_interopRequireWildcard","require","ConfigProvider","Context","Duration","Effect","Layer","Option","_RunnerAddress","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardingConfig","Tag","exports","defaultRunnerAddress","RunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","runnerShardWeight","shardsPerGroup","shardGroups","preemptiveShutdown","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityRegistrationTimeout","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":";;;;;;AAGA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,cAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAH,uBAAA,CAAAC,OAAA;AAEA,IAAAG,QAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,MAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,KAAA,GAAAN,uBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAAkD,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAZlD;;;;AAcA;;;;;;AAMM,MAAOkB,cAAe,sBAAQzB,OAAO,CAAC0B,GAAG,CAAC,gCAAgC,CAAC,EAmG7E;AAAAC,OAAA,CAAAF,cAAA,GAAAA,cAAA;AAEJ,MAAMG,oBAAoB,gBAAGC,4BAAa,CAACC,IAAI,CAAC;EAAEC,IAAI,EAAE,WAAW;EAAEC,IAAI,EAAE;AAAK,CAAE,CAAC;AAEnF;;;;AAIO,MAAMC,QAAQ,GAAAN,OAAA,CAAAM,QAAA,GAA2B;EAC9CC,aAAa,eAAE9B,MAAM,CAAC+B,IAAI,CAACP,oBAAoB,CAAC;EAChDQ,mBAAmB,eAAEhC,MAAM,CAACiC,IAAI,EAAE;EAClCC,iBAAiB,EAAE,CAAC;EACpBC,cAAc,EAAE,GAAG;EACnBC,WAAW,EAAE,CAAC,SAAS,CAAC;EACxBC,kBAAkB,EAAE,IAAI;EACxBC,wBAAwB,eAAEzC,QAAQ,CAAC0C,OAAO,CAAC,EAAE,CAAC;EAC9CC,mBAAmB,eAAE3C,QAAQ,CAAC0C,OAAO,CAAC,EAAE,CAAC;EACzCE,qBAAqB,EAAE,IAAI;EAC3BC,iBAAiB,eAAE7C,QAAQ,CAAC8C,OAAO,CAAC,CAAC,CAAC;EACtCC,yBAAyB,eAAE/C,QAAQ,CAAC8C,OAAO,CAAC,CAAC,CAAC;EAC9CE,wBAAwB,eAAEhD,QAAQ,CAAC0C,OAAO,CAAC,EAAE,CAAC;EAC9CO,yBAAyB,eAAEjD,QAAQ,CAAC0C,OAAO,CAAC,EAAE,CAAC;EAC/CQ,uBAAuB,eAAElD,QAAQ,CAACmD,MAAM,CAAC,GAAG,CAAC;EAC7CC,iBAAiB,eAAEpD,QAAQ,CAACmD,MAAM,CAAC,GAAG,CAAC;EACvCE,0BAA0B,eAAErD,QAAQ,CAAC0C,OAAO,CAAC,CAAC,CAAC;EAC/CY,yBAAyB,eAAEtD,QAAQ,CAAC8C,OAAO,CAAC,CAAC,CAAC;EAC9CS,2BAA2B,EAAE;CAC9B;AAED;;;;AAIO,MAAMC,KAAK,GAAIC,OAAyC,IAC7DvD,KAAK,CAACwD,OAAO,CAAClC,cAAc,EAAE;EAAE,GAAGQ,QAAQ;EAAE,GAAGyB;AAAO,CAAE,CAAC;AAE5D;;;;AAAA/B,OAAA,CAAA8B,KAAA,GAAAA,KAAA;AAIO,MAAMG,aAAa,GAAAjC,OAAA,CAAAiC,aAAA,gBAAgCH,KAAK,EAAE;AAEjE;;;;AAIO,MAAMI,MAAM,GAAAlC,OAAA,CAAAkC,MAAA,gBAA0CjE,MAAM,CAACkE,GAAG,CAAC;EACtE5B,aAAa,eAAEtC,MAAM,CAACkE,GAAG,CAAC;IACxB/B,IAAI,EAAEnC,MAAM,CAACmE,MAAM,CAAC,MAAM,CAAC,CAACC,IAAI,CAC9BpE,MAAM,CAACqE,WAAW,CAACrC,oBAAoB,CAACG,IAAI,CAAC,EAC7CnC,MAAM,CAACsE,eAAe,CAAC,2CAA2C,CAAC,CACpE;IACDlC,IAAI,EAAEpC,MAAM,CAACuE,OAAO,CAAC,MAAM,CAAC,CAACH,IAAI,CAC/BpE,MAAM,CAACqE,WAAW,CAACrC,oBAAoB,CAACI,IAAI,CAAC,EAC7CpC,MAAM,CAACsE,eAAe,CAAC,+CAA+C,CAAC;GAE1E,CAAC,CAACF,IAAI,cAACpE,MAAM,CAACwE,GAAG,CAAEV,OAAO,IAAK7B,4BAAa,CAACC,IAAI,CAAC4B,OAAO,CAAC,CAAC,EAAE9D,MAAM,CAACyE,MAAM,CAAC;EAC5EjC,mBAAmB,eAAExC,MAAM,CAACkE,GAAG,CAAC;IAC9B/B,IAAI,EAAEnC,MAAM,CAACmE,MAAM,CAAC,YAAY,CAAC,CAACC,IAAI,CACpCpE,MAAM,CAACsE,eAAe,CAAC,wBAAwB,CAAC,CACjD;IACDlC,IAAI,EAAEpC,MAAM,CAACuE,OAAO,CAAC,YAAY,CAAC,CAACH,IAAI,CACrCpE,MAAM,CAACqE,WAAW,CAACrC,oBAAoB,CAACI,IAAI,CAAC,EAC7CpC,MAAM,CAACsE,eAAe,CAAC,wBAAwB,CAAC;GAEnD,CAAC,CAACF,IAAI,cAACpE,MAAM,CAACwE,GAAG,CAAEV,OAAO,IAAK7B,4BAAa,CAACC,IAAI,CAAC4B,OAAO,CAAC,CAAC,EAAE9D,MAAM,CAACyE,MAAM,CAAC;EAC5E/B,iBAAiB,eAAE1C,MAAM,CAACuE,OAAO,CAAC,mBAAmB,CAAC,CAACH,IAAI,cACzDpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACK,iBAAiB,CAAC,CAC/C;EACDE,WAAW,eAAE5C,MAAM,CAAC0E,KAAK,CAAC1E,MAAM,CAACmE,MAAM,CAAC,aAAa,CAAC,CAAC,CAACC,IAAI,cAC1DpE,MAAM,CAACqE,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,eAC/BrE,MAAM,CAACsE,eAAe,CAAC,oDAAoD,CAAC,CAC7E;EACD3B,cAAc,eAAE3C,MAAM,CAACuE,OAAO,CAAC,gBAAgB,CAAC,CAACH,IAAI,cACnDpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACM,cAAc,CAAC,eAC3C3C,MAAM,CAACsE,eAAe,CAAC,mDAAmD,CAAC,CAC5E;EACDzB,kBAAkB,eAAE7C,MAAM,CAAC2E,OAAO,CAAC,oBAAoB,CAAC,CAACP,IAAI,cAC3DpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACQ,kBAAkB,CAAC,eAC/C7C,MAAM,CAACsE,eAAe,CAAC,qEAAqE,CAAC,CAC9F;EACDxB,wBAAwB,eAAE9C,MAAM,CAAC4E,QAAQ,CAAC,0BAA0B,CAAC,CAACR,IAAI,cACxEpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACS,wBAAwB,CAAC,eACrD9C,MAAM,CAACsE,eAAe,CAAC,8BAA8B,CAAC,CACvD;EACDtB,mBAAmB,eAAEhD,MAAM,CAAC4E,QAAQ,CAAC,qBAAqB,CAAC,CAACR,IAAI,cAC9DpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACW,mBAAmB,CAAC,eAChDhD,MAAM,CAACsE,eAAe,CAAC,iCAAiC,CAAC,CAC1D;EACDrB,qBAAqB,eAAEjD,MAAM,CAACuE,OAAO,CAAC,uBAAuB,CAAC,CAACH,IAAI,cACjEpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACY,qBAAqB,CAAC,eAClDjD,MAAM,CAACsE,eAAe,CAAC,mDAAmD,CAAC,CAC5E;EACDpB,iBAAiB,eAAElD,MAAM,CAAC4E,QAAQ,CAAC,mBAAmB,CAAC,CAACR,IAAI,cAC1DpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACa,iBAAiB,CAAC,eAC9ClD,MAAM,CAACsE,eAAe,CACpB,kHAAkH,CACnH,CACF;EACDlB,yBAAyB,eAAEpD,MAAM,CAAC4E,QAAQ,CAAC,2BAA2B,CAAC,CAACR,IAAI,cAC1EpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACe,yBAAyB,CAAC,eACtDpD,MAAM,CAACsE,eAAe,CACpB,6HAA6H,CAC9H,CACF;EACDjB,wBAAwB,eAAErD,MAAM,CAAC4E,QAAQ,CAAC,0BAA0B,CAAC,CAACR,IAAI,cACxEpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACgB,wBAAwB,CAAC,eACrDrD,MAAM,CAACsE,eAAe,CAAC,kEAAkE,CAAC,CAC3F;EACDhB,yBAAyB,eAAEtD,MAAM,CAAC4E,QAAQ,CAAC,2BAA2B,CAAC,CAACR,IAAI,cAC1EpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACiB,yBAAyB,CAAC,eACtDtD,MAAM,CAACsE,eAAe,CAAC,sEAAsE,CAAC,CAC/F;EACDf,uBAAuB,eAAEvD,MAAM,CAAC4E,QAAQ,CAAC,yBAAyB,CAAC,CAACR,IAAI,cACtEpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACkB,uBAAuB,CAAC,eACpDvD,MAAM,CAACsE,eAAe,CAAC,gEAAgE,CAAC,CACzF;EACDb,iBAAiB,eAAEzD,MAAM,CAAC4E,QAAQ,CAAC,mBAAmB,CAAC,CAACR,IAAI,cAC1DpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACoB,iBAAiB,CAAC,eAC9CzD,MAAM,CAACsE,eAAe,CAAC,wEAAwE,CAAC,CACjG;EACDZ,0BAA0B,eAAE1D,MAAM,CAAC4E,QAAQ,CAAC,4BAA4B,CAAC,CAACR,IAAI,cAC5EpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACqB,0BAA0B,CAAC,eACvD1D,MAAM,CAACsE,eAAe,CAAC,qDAAqD,CAAC,CAC9E;EACDX,yBAAyB,eAAE3D,MAAM,CAAC4E,QAAQ,CAAC,2BAA2B,CAAC,CAACR,IAAI,cAC1EpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACsB,yBAAyB,CAAC,eACtD3D,MAAM,CAACsE,eAAe,CAAC,uEAAuE,CAAC,CAChG;EACDV,2BAA2B,eAAE5D,MAAM,CAAC2E,OAAO,CAAC,6BAA6B,CAAC,CAACP,IAAI,cAC7EpE,MAAM,CAACqE,WAAW,CAAChC,QAAQ,CAACuB,2BAA2B,CAAC,eACxD5D,MAAM,CAACsE,eAAe,CAAC,kFAAkF,CAAC;CAE7G,CAAC;AAEF;;;;AAIO,MAAMO,aAAa,GAAA9C,OAAA,CAAA8C,aAAA,gBAAGZ,MAAM,CAACG,IAAI,cACtC9D,MAAM,CAACwE,kBAAkB,cACvB3E,cAAc,CAAC4E,OAAO,EAAE,CAACX,IAAI,CAC3BjE,cAAc,CAAC6E,YAAY,CAC5B,CACF,CACF;AAED;;;;AAIO,MAAMC,YAAY,GAAInB,OAAqD,IAIhFvD,KAAK,CAAC2E,MAAM,CACVrD,cAAc,EACdiC,OAAO,GAAGxD,MAAM,CAACkE,GAAG,CAACK,aAAa,EAAGZ,MAAM,KAAM;EAAE,GAAGA,MAAM;EAAE,GAAGH;AAAO,CAAE,CAAC,CAAC,GAAGe,aAAa,CAC7F;AAAA9C,OAAA,CAAAkD,YAAA,GAAAA,YAAA","ignoreList":[]}
1
+ {"version":3,"file":"ShardingConfig.js","names":["Config","_interopRequireWildcard","require","ConfigProvider","Context","Duration","Effect","Layer","Option","_RunnerAddress","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ShardingConfig","Tag","exports","defaultRunnerAddress","RunnerAddress","make","host","port","defaults","runnerAddress","some","runnerListenAddress","none","runnerShardWeight","shardsPerGroup","shardGroups","preemptiveShutdown","shardLockRefreshInterval","seconds","shardLockExpiration","shardLockDisableAdvisory","entityMailboxCapacity","entityMaxIdleTime","minutes","entityRegistrationTimeout","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":[]}
@@ -27,6 +27,7 @@ const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
27
27
  */
28
28
  const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
29
29
  const config = yield* ShardingConfig.ShardingConfig;
30
+ const disableAdvisoryLocks = config.shardLockDisableAdvisory;
30
31
  const sql = (yield* SqlClient.SqlClient).withoutTransforms();
31
32
  const prefix = options?.prefix ?? "cluster";
32
33
  const table = name => `${prefix}_${name}`;
@@ -119,8 +120,20 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
119
120
  acquired_at DATETIME NOT NULL
120
121
  )
121
122
  `,
122
- mysql: () => Effect.void,
123
- pg: () => Effect.void,
123
+ mysql: () => sql`
124
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
125
+ shard_id VARCHAR(50) PRIMARY KEY,
126
+ address VARCHAR(255) NOT NULL,
127
+ acquired_at DATETIME NOT NULL
128
+ )
129
+ `,
130
+ pg: () => sql`
131
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
132
+ shard_id VARCHAR(50) PRIMARY KEY,
133
+ address VARCHAR(255) NOT NULL,
134
+ acquired_at TIMESTAMP NOT NULL
135
+ )
136
+ `,
124
137
  orElse: () =>
125
138
  // sqlite
126
139
  sql`
@@ -198,59 +211,91 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
198
211
  const [query, params] = effect.compile();
199
212
  return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeRaw(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
200
213
  };
214
+ const execWithLockConnUnprepared = effect => {
215
+ if (!lockConn) return effect.values;
216
+ const [query, params] = effect.compile();
217
+ return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeUnprepared(query, params, undefined)), Effect.onError(() => lockConn.unsafeRebuild()));
218
+ };
201
219
  const execWithLockConnValues = effect => {
202
220
  if (!lockConn) return effect.values;
203
221
  const [query, params] = effect.compile();
204
222
  return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeValues(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
205
223
  };
206
224
  const acquireLock = sql.onDialectOrElse({
207
- pg: () => Effect.fnUntraced(function* (_address, shardIds) {
208
- const [conn, pid] = yield* lockConn.await;
209
- const acquiredShardIds = [];
210
- const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
211
- const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = ${pid} ORDER BY objid`, []);
212
- for (let i = 0; i < takenLocks.length; i++) {
213
- const lockNum = takenLocks[i][0];
214
- acquiredShardIds.push(lockNumbersReverse.get(lockNum));
215
- toAcquire.delete(lockNum);
225
+ pg: () => {
226
+ if (disableAdvisoryLocks) {
227
+ return (address, shardIds) => {
228
+ const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
229
+ return sql`
230
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
231
+ ON CONFLICT (shard_id) DO UPDATE
232
+ SET address = ${address}, acquired_at = ${sqlNow}
233
+ WHERE ${locksTableSql}.address = ${address}
234
+ OR ${locksTableSql}.acquired_at < ${lockExpiresAt}
235
+ `.pipe(Effect.andThen(acquiredLocks(address, shardIds)));
236
+ };
216
237
  }
217
- if (toAcquire.size === 0) {
218
- return acquiredShardIds;
219
- }
220
- const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
221
- const results = rows[0];
222
- for (const shardId in results) {
223
- if (results[shardId]) {
224
- acquiredShardIds.push(shardId);
238
+ return Effect.fnUntraced(function* (_address, shardIds) {
239
+ const [conn, pid] = yield* lockConn.await;
240
+ const acquiredShardIds = [];
241
+ const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
242
+ const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = ${pid} ORDER BY objid`, []);
243
+ for (let i = 0; i < takenLocks.length; i++) {
244
+ const lockNum = takenLocks[i][0];
245
+ acquiredShardIds.push(lockNumbersReverse.get(lockNum));
246
+ toAcquire.delete(lockNum);
225
247
  }
226
- }
227
- return acquiredShardIds;
228
- }, Effect.onError(() => lockConn.unsafeRebuild())),
229
- mysql: () => Effect.fnUntraced(function* (_address, shardIds) {
230
- const [conn, pid] = yield* lockConn.await;
231
- const takenLocks = (yield* conn.executeValues(`SELECT ${allMySqlTakenLocks}`, []))[0];
232
- const acquiredShardIds = [];
233
- const toAcquire = [];
234
- for (let i = 0; i < shardIds.length; i++) {
235
- const shardId = shardIds[i];
236
- const lockTakenBy = takenLocks[shardIdsIndex.get(shardId)];
237
- if (lockTakenBy === pid) {
238
- acquiredShardIds.push(shardId);
239
- } else if (shardIds.includes(shardId)) {
240
- toAcquire.push(shardId);
248
+ if (toAcquire.size === 0) {
249
+ return acquiredShardIds;
250
+ }
251
+ const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
252
+ const results = rows[0];
253
+ for (const shardId in results) {
254
+ if (results[shardId]) {
255
+ acquiredShardIds.push(shardId);
256
+ }
241
257
  }
242
- }
243
- if (toAcquire.length === 0) {
244
258
  return acquiredShardIds;
259
+ }, Effect.onError(() => lockConn.unsafeRebuild()));
260
+ },
261
+ mysql: () => {
262
+ if (disableAdvisoryLocks) {
263
+ return (address, shardIds) => {
264
+ const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
265
+ return sql`
266
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
267
+ ON DUPLICATE KEY UPDATE
268
+ address = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(address), address),
269
+ acquired_at = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(acquired_at), acquired_at)
270
+ `.unprepared.pipe(Effect.andThen(acquiredLocks(address, shardIds)));
271
+ };
245
272
  }
246
- const results = (yield* conn.executeValues(`SELECT ${mysqlLocks(toAcquire)}`, []))[0];
247
- for (let i = 0; i < results.length; i++) {
248
- if (results[i] === 1) {
249
- acquiredShardIds.push(toAcquire[i]);
273
+ return Effect.fnUntraced(function* (_address, shardIds) {
274
+ const [conn, pid] = yield* lockConn.await;
275
+ const takenLocks = (yield* conn.executeValues(`SELECT ${allMySqlTakenLocks}`, []))[0];
276
+ const acquiredShardIds = [];
277
+ const toAcquire = [];
278
+ for (let i = 0; i < shardIds.length; i++) {
279
+ const shardId = shardIds[i];
280
+ const lockTakenBy = takenLocks[shardIdsIndex.get(shardId)];
281
+ if (lockTakenBy === pid) {
282
+ acquiredShardIds.push(shardId);
283
+ } else if (shardIds.includes(shardId)) {
284
+ toAcquire.push(shardId);
285
+ }
250
286
  }
251
- }
252
- return acquiredShardIds;
253
- }, Effect.onError(() => lockConn.unsafeRebuild())),
287
+ if (toAcquire.length === 0) {
288
+ return acquiredShardIds;
289
+ }
290
+ const results = (yield* conn.executeValues(`SELECT ${mysqlLocks(toAcquire)}`, []))[0];
291
+ for (let i = 0; i < results.length; i++) {
292
+ if (results[i] === 1) {
293
+ acquiredShardIds.push(toAcquire[i]);
294
+ }
295
+ }
296
+ return acquiredShardIds;
297
+ }, Effect.onError(() => lockConn.unsafeRebuild()));
298
+ },
254
299
  mssql: () => (address, shardIds) => {
255
300
  const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
256
301
  return sql`
@@ -326,8 +371,27 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
326
371
  const stringLiteral = s => sql.literal(wrapString(s));
327
372
  const stringLiteralArr = arr => sql.literal(`(${arr.map(wrapString).join(",")})`);
328
373
  const refreshShards = sql.onDialectOrElse({
329
- pg: () => acquireLock,
330
- mysql: () => acquireLock,
374
+ pg: () => {
375
+ if (!disableAdvisoryLocks) return acquireLock;
376
+ return (address, shardIds) => sql`
377
+ UPDATE ${locksTableSql}
378
+ SET acquired_at = ${sqlNow}
379
+ WHERE address = ${address} AND shard_id IN ${stringLiteralArr(shardIds)}
380
+ RETURNING shard_id
381
+ `.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0])));
382
+ },
383
+ mysql: () => {
384
+ if (!disableAdvisoryLocks) return acquireLock;
385
+ return (address, shardIds) => {
386
+ const shardIdsStr = stringLiteralArr(shardIds);
387
+ return sql`
388
+ UPDATE ${locksTableSql}
389
+ SET acquired_at = ${sqlNow}
390
+ WHERE address = ${address} AND shard_id IN ${shardIdsStr};
391
+ SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND shard_id IN ${shardIdsStr}
392
+ `.pipe(execWithLockConnUnprepared, Effect.map(rows => rows[1].map(row => row.shard_id)));
393
+ };
394
+ },
331
395
  mssql: () => (address, shardIds) => sql`
332
396
  UPDATE ${locksTableSql}
333
397
  SET acquired_at = ${sqlNow}
@@ -349,31 +413,51 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
349
413
  acquire: (address, shardIds) => acquireLock(address, shardIds).pipe(_ClusterError.PersistenceError.refail, withTracerDisabled),
350
414
  refresh: (address, shardIds) => sql`UPDATE ${runnersTableSql} SET last_heartbeat = ${sqlNow} WHERE address = ${address}`.pipe(execWithLockConn, shardIds.length > 0 ? Effect.andThen(refreshShards(address, shardIds)) : Effect.as([]), _ClusterError.PersistenceError.refail),
351
415
  release: sql.onDialectOrElse({
352
- pg: () => Effect.fnUntraced(function* (_address, shardId) {
353
- const lockNum = lockNumbers.get(shardId);
354
- for (let i = 0; i < 5; i++) {
355
- const [conn] = yield* lockConn.await;
356
- yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
357
- const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
358
- if (takenLocks.length === 0) return;
416
+ pg: () => {
417
+ if (disableAdvisoryLocks) {
418
+ return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail);
359
419
  }
360
- const [conn] = yield* lockConn.await;
361
- yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
362
- }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, _ClusterError.PersistenceError.refail),
363
- mysql: () => Effect.fnUntraced(function* (_address, shardId) {
364
- const lockName = lockNames.get(shardId);
365
- while (true) {
366
- const [conn, pid] = yield* lockConn.await;
367
- yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
368
- const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
369
- if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
420
+ return Effect.fnUntraced(function* (_address, shardId) {
421
+ const lockNum = lockNumbers.get(shardId);
422
+ for (let i = 0; i < 5; i++) {
423
+ const [conn] = yield* lockConn.await;
424
+ yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
425
+ const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
426
+ if (takenLocks.length === 0) return;
427
+ }
428
+ const [conn] = yield* lockConn.await;
429
+ yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
430
+ }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, _ClusterError.PersistenceError.refail);
431
+ },
432
+ mysql: () => {
433
+ if (disableAdvisoryLocks) {
434
+ return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail);
370
435
  }
371
- }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, _ClusterError.PersistenceError.refail),
436
+ return Effect.fnUntraced(function* (_address, shardId) {
437
+ const lockName = lockNames.get(shardId);
438
+ while (true) {
439
+ const [conn, pid] = yield* lockConn.await;
440
+ yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
441
+ const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
442
+ if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
443
+ }
444
+ }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, _ClusterError.PersistenceError.refail);
445
+ },
372
446
  orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(_ClusterError.PersistenceError.refail)
373
447
  }),
374
448
  releaseAll: sql.onDialectOrElse({
375
- pg: () => _address => sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
376
- mysql: () => _address => sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
449
+ pg: () => address => {
450
+ if (disableAdvisoryLocks) {
451
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled);
452
+ }
453
+ return sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled);
454
+ },
455
+ mysql: () => address => {
456
+ if (disableAdvisoryLocks) {
457
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled);
458
+ }
459
+ return sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled);
460
+ },
377
461
  orElse: () => address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(_ClusterError.PersistenceError.refail, withTracerDisabled)
378
462
  })
379
463
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Duration","Effect","Layer","Scope","_ClusterError","_resourceRef","RunnerStorage","ShardId","ShardingConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","config","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","scope","conn","orDie","reserve","pipe","extend","pid","executeValues","addFinalizerExit","executeRaw","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","ResourceRef","from","runnersTable","runnersTableSql","hasOldTables","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","unsafeRebuild","execWithLockConnValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","takenLocks","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","lockNames","lockNamesReverse","index","lockName","shardIdsMap","Array","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","PersistenceError","refail","String","Boolean","register","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlRunnerStorage.js","names":["SqlClient","_interopRequireWildcard","require","Arr","Duration","Effect","Layer","Scope","_ClusterError","_resourceRef","RunnerStorage","ShardId","ShardingConfig","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withTracerDisabled","withTracerEnabled","make","exports","fnUntraced","options","config","disableAdvisoryLocks","shardLockDisableAdvisory","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","scope","conn","orDie","reserve","pipe","extend","pid","executeValues","addFinalizerExit","executeRaw","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","ResourceRef","from","runnersTable","runnersTableSql","hasOldTables","isSuccess","ignore","mssql","locksTable","locksTableSql","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","unsafeRebuild","execWithLockConnUnprepared","executeUnprepared","execWithLockConnValues","acquireLock","shardIds","shardId","stringLiteral","csv","andThen","acquiredLocks","_address","acquiredShardIds","toAcquire","Map","lockNumbers","takenLocks","length","lockNum","push","lockNumbersReverse","delete","size","rows","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","lockNames","lockNamesReverse","index","lockName","shardIdsMap","Array","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","shardIdsStr","shard_id","makeEncoded","getRunners","PersistenceError","refail","String","Boolean","register","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -54,6 +54,10 @@ declare const ShardingConfig_base: Context.TagClass<ShardingConfig, "@effect/clu
54
54
  * Shard lock expiration duration.
55
55
  */
56
56
  readonly shardLockExpiration: DurationInput;
57
+ /**
58
+ * Disable the use of advisory locks for shard locking.
59
+ */
60
+ readonly shardLockDisableAdvisory: boolean;
57
61
  /**
58
62
  * Start shutting down as soon as an Entity has started shutting down.
59
63
  *
@@ -186,6 +190,10 @@ export declare const configFromEnv: Effect.Effect<{
186
190
  * Shard lock expiration duration.
187
191
  */
188
192
  readonly shardLockExpiration: DurationInput;
193
+ /**
194
+ * Disable the use of advisory locks for shard locking.
195
+ */
196
+ readonly shardLockDisableAdvisory: boolean;
189
197
  /**
190
198
  * Start shutting down as soon as an Entity has started shutting down.
191
199
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../src/ShardingConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAErD,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;;IAShD;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,aAAa;IAChD;;OAEG;kCAC2B,aAAa;IAC3C;;;;OAIG;iCAC0B,OAAO;IACpC;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;;OAKG;wCACiC,aAAa;IACjD;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;IAC/C;;;OAGG;yCACkC,aAAa;IAClD;;OAEG;gCACyB,aAAa;IACzC;;OAEG;wCACiC,aAAa;IACjD;;;OAGG;0CACmC,OAAO;;AAxG/C;;;;;GAKG;AACH,qBAAa,cAAe,SAAQ,mBAmGhC;CAAG;AAIP;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,cAAc,CAAC,MAAM,CAmB3C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAChC,CAAA;AAE5D;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,cAAc,CAAW,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAuFvD,CAAA;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa;IA7OxB;;;;;;OAMG;4BACqB,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IACpD;;;;OAIG;kCAC2B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;IAC1D;;;;;;;;OAQG;gCACyB,MAAM;IAClC;;;;OAIG;0BACmB,aAAa,CAAC,MAAM,CAAC;IAC3C;;;;OAIG;6BACsB,MAAM;IAC/B;;OAEG;uCACgC,aAAa;IAChD;;OAEG;kCAC2B,aAAa;IAC3C;;;;OAIG;iCAC0B,OAAO;IACpC;;OAEG;oCAC6B,MAAM,GAAG,WAAW;IACpD;;;OAGG;gCACyB,aAAa;IACzC;;;;;OAKG;wCACiC,aAAa;IACjD;;;;OAIG;uCACgC,aAAa;IAChD;;OAEG;wCACiC,aAAa;IACjD;;OAEG;sCAC+B,aAAa;IAC/C;;;OAGG;yCACkC,aAAa;IAClD;;OAEG;gCACyB,aAAa;IACzC;;OAEG;wCACiC,aAAa;IACjD;;;OAGG;0CACmC,OAAO;sBAkJ9C,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,UAAU,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,KAAG,KAAK,CAAC,KAAK,CAC9F,cAAc,EACd,WAAW,CAKV,CAAA"}
1
+ {"version":3,"file":"ShardingConfig.d.ts","sourceRoot":"","sources":["../../src/ShardingConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/SqlRunnerStorage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAIpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD;;;GAGG;AACH,eAAO,MAAM,IAAI;sBACG,MAAM,GAAG,SAAS;;;;;;;;;;+EA0fhB,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACE,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA"}
1
+ {"version":3,"file":"SqlRunnerStorage.d.ts","sourceRoot":"","sources":["../../src/SqlRunnerStorage.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAA;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAIpD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAA;AAIrD;;;GAGG;AACH,eAAO,MAAM,IAAI;sBACG,MAAM,GAAG,SAAS;;;;;;;;;;+EA0mBhB,CAAA;AAEtB;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,KAAK,CAC7B,aAAa,CAAC,aAAa,EAC3B,QAAQ,EACR,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CACE,CAAA;AAEvD;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC,KAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,GAAG,cAAc,CAAC,cAAc,CAChD,CAAA"}
@@ -33,6 +33,7 @@ export const defaults = {
33
33
  preemptiveShutdown: true,
34
34
  shardLockRefreshInterval: /*#__PURE__*/Duration.seconds(10),
35
35
  shardLockExpiration: /*#__PURE__*/Duration.seconds(35),
36
+ shardLockDisableAdvisory: false,
36
37
  entityMailboxCapacity: 4096,
37
38
  entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
38
39
  entityRegistrationTimeout: /*#__PURE__*/Duration.minutes(1),
@@ -76,6 +77,7 @@ export const config = /*#__PURE__*/Config.all({
76
77
  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.")),
77
78
  shardLockRefreshInterval: /*#__PURE__*/Config.duration("shardLockRefreshInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockRefreshInterval), /*#__PURE__*/Config.withDescription("Shard lock refresh interval.")),
78
79
  shardLockExpiration: /*#__PURE__*/Config.duration("shardLockExpiration").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockExpiration), /*#__PURE__*/Config.withDescription("Shard lock expiration duration.")),
80
+ shardLockDisableAdvisory: /*#__PURE__*/Config.boolean("shardLockDisableAdvisory").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockDisableAdvisory), /*#__PURE__*/Config.withDescription("Disable the use of advisory locks for shard locking.")),
79
81
  entityMailboxCapacity: /*#__PURE__*/Config.integer("entityMailboxCapacity").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMailboxCapacity), /*#__PURE__*/Config.withDescription("The default capacity of the mailbox for entities.")),
80
82
  entityMaxIdleTime: /*#__PURE__*/Config.duration("entityMaxIdleTime").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMaxIdleTime), /*#__PURE__*/Config.withDescription("The maximum duration of inactivity (i.e. without receiving a message) after which an entity will be interrupted.")),
81
83
  entityRegistrationTimeout: /*#__PURE__*/Config.duration("entityRegistrationTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.entityRegistrationTimeout), /*#__PURE__*/Config.withDescription("If an entity does not register itself within this time after a message is sent to it, the message will be marked as failed.")),
@@ -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","preemptiveShutdown","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityRegistrationTimeout","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":[]}
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","shardLockDisableAdvisory","entityMailboxCapacity","entityMaxIdleTime","minutes","entityRegistrationTimeout","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":[]}
@@ -19,6 +19,7 @@ const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
19
19
  */
20
20
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
21
21
  const config = yield* ShardingConfig.ShardingConfig;
22
+ const disableAdvisoryLocks = config.shardLockDisableAdvisory;
22
23
  const sql = (yield* SqlClient.SqlClient).withoutTransforms();
23
24
  const prefix = options?.prefix ?? "cluster";
24
25
  const table = name => `${prefix}_${name}`;
@@ -111,8 +112,20 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
111
112
  acquired_at DATETIME NOT NULL
112
113
  )
113
114
  `,
114
- mysql: () => Effect.void,
115
- pg: () => Effect.void,
115
+ mysql: () => sql`
116
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
117
+ shard_id VARCHAR(50) PRIMARY KEY,
118
+ address VARCHAR(255) NOT NULL,
119
+ acquired_at DATETIME NOT NULL
120
+ )
121
+ `,
122
+ pg: () => sql`
123
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
124
+ shard_id VARCHAR(50) PRIMARY KEY,
125
+ address VARCHAR(255) NOT NULL,
126
+ acquired_at TIMESTAMP NOT NULL
127
+ )
128
+ `,
116
129
  orElse: () =>
117
130
  // sqlite
118
131
  sql`
@@ -190,59 +203,91 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
190
203
  const [query, params] = effect.compile();
191
204
  return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeRaw(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
192
205
  };
206
+ const execWithLockConnUnprepared = effect => {
207
+ if (!lockConn) return effect.values;
208
+ const [query, params] = effect.compile();
209
+ return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeUnprepared(query, params, undefined)), Effect.onError(() => lockConn.unsafeRebuild()));
210
+ };
193
211
  const execWithLockConnValues = effect => {
194
212
  if (!lockConn) return effect.values;
195
213
  const [query, params] = effect.compile();
196
214
  return lockConn.await.pipe(Effect.flatMap(([conn]) => conn.executeValues(query, params)), Effect.onError(() => lockConn.unsafeRebuild()));
197
215
  };
198
216
  const acquireLock = sql.onDialectOrElse({
199
- pg: () => Effect.fnUntraced(function* (_address, shardIds) {
200
- const [conn, pid] = yield* lockConn.await;
201
- const acquiredShardIds = [];
202
- const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
203
- const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = ${pid} ORDER BY objid`, []);
204
- for (let i = 0; i < takenLocks.length; i++) {
205
- const lockNum = takenLocks[i][0];
206
- acquiredShardIds.push(lockNumbersReverse.get(lockNum));
207
- toAcquire.delete(lockNum);
217
+ pg: () => {
218
+ if (disableAdvisoryLocks) {
219
+ return (address, shardIds) => {
220
+ const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
221
+ return sql`
222
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
223
+ ON CONFLICT (shard_id) DO UPDATE
224
+ SET address = ${address}, acquired_at = ${sqlNow}
225
+ WHERE ${locksTableSql}.address = ${address}
226
+ OR ${locksTableSql}.acquired_at < ${lockExpiresAt}
227
+ `.pipe(Effect.andThen(acquiredLocks(address, shardIds)));
228
+ };
208
229
  }
209
- if (toAcquire.size === 0) {
210
- return acquiredShardIds;
211
- }
212
- const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
213
- const results = rows[0];
214
- for (const shardId in results) {
215
- if (results[shardId]) {
216
- acquiredShardIds.push(shardId);
230
+ return Effect.fnUntraced(function* (_address, shardIds) {
231
+ const [conn, pid] = yield* lockConn.await;
232
+ const acquiredShardIds = [];
233
+ const toAcquire = new Map(shardIds.map(shardId => [lockNumbers.get(shardId), shardId]));
234
+ const takenLocks = yield* conn.executeValues(`SELECT objid FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = ${pid} ORDER BY objid`, []);
235
+ for (let i = 0; i < takenLocks.length; i++) {
236
+ const lockNum = takenLocks[i][0];
237
+ acquiredShardIds.push(lockNumbersReverse.get(lockNum));
238
+ toAcquire.delete(lockNum);
217
239
  }
218
- }
219
- return acquiredShardIds;
220
- }, Effect.onError(() => lockConn.unsafeRebuild())),
221
- mysql: () => Effect.fnUntraced(function* (_address, shardIds) {
222
- const [conn, pid] = yield* lockConn.await;
223
- const takenLocks = (yield* conn.executeValues(`SELECT ${allMySqlTakenLocks}`, []))[0];
224
- const acquiredShardIds = [];
225
- const toAcquire = [];
226
- for (let i = 0; i < shardIds.length; i++) {
227
- const shardId = shardIds[i];
228
- const lockTakenBy = takenLocks[shardIdsIndex.get(shardId)];
229
- if (lockTakenBy === pid) {
230
- acquiredShardIds.push(shardId);
231
- } else if (shardIds.includes(shardId)) {
232
- toAcquire.push(shardId);
240
+ if (toAcquire.size === 0) {
241
+ return acquiredShardIds;
242
+ }
243
+ const rows = yield* conn.executeUnprepared(`SELECT ${pgLocks(toAcquire)}`, [], undefined);
244
+ const results = rows[0];
245
+ for (const shardId in results) {
246
+ if (results[shardId]) {
247
+ acquiredShardIds.push(shardId);
248
+ }
233
249
  }
234
- }
235
- if (toAcquire.length === 0) {
236
250
  return acquiredShardIds;
251
+ }, Effect.onError(() => lockConn.unsafeRebuild()));
252
+ },
253
+ mysql: () => {
254
+ if (disableAdvisoryLocks) {
255
+ return (address, shardIds) => {
256
+ const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
257
+ return sql`
258
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
259
+ ON DUPLICATE KEY UPDATE
260
+ address = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(address), address),
261
+ acquired_at = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(acquired_at), acquired_at)
262
+ `.unprepared.pipe(Effect.andThen(acquiredLocks(address, shardIds)));
263
+ };
237
264
  }
238
- const results = (yield* conn.executeValues(`SELECT ${mysqlLocks(toAcquire)}`, []))[0];
239
- for (let i = 0; i < results.length; i++) {
240
- if (results[i] === 1) {
241
- acquiredShardIds.push(toAcquire[i]);
265
+ return Effect.fnUntraced(function* (_address, shardIds) {
266
+ const [conn, pid] = yield* lockConn.await;
267
+ const takenLocks = (yield* conn.executeValues(`SELECT ${allMySqlTakenLocks}`, []))[0];
268
+ const acquiredShardIds = [];
269
+ const toAcquire = [];
270
+ for (let i = 0; i < shardIds.length; i++) {
271
+ const shardId = shardIds[i];
272
+ const lockTakenBy = takenLocks[shardIdsIndex.get(shardId)];
273
+ if (lockTakenBy === pid) {
274
+ acquiredShardIds.push(shardId);
275
+ } else if (shardIds.includes(shardId)) {
276
+ toAcquire.push(shardId);
277
+ }
242
278
  }
243
- }
244
- return acquiredShardIds;
245
- }, Effect.onError(() => lockConn.unsafeRebuild())),
279
+ if (toAcquire.length === 0) {
280
+ return acquiredShardIds;
281
+ }
282
+ const results = (yield* conn.executeValues(`SELECT ${mysqlLocks(toAcquire)}`, []))[0];
283
+ for (let i = 0; i < results.length; i++) {
284
+ if (results[i] === 1) {
285
+ acquiredShardIds.push(toAcquire[i]);
286
+ }
287
+ }
288
+ return acquiredShardIds;
289
+ }, Effect.onError(() => lockConn.unsafeRebuild()));
290
+ },
246
291
  mssql: () => (address, shardIds) => {
247
292
  const values = shardIds.map(shardId => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`);
248
293
  return sql`
@@ -318,8 +363,27 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
318
363
  const stringLiteral = s => sql.literal(wrapString(s));
319
364
  const stringLiteralArr = arr => sql.literal(`(${arr.map(wrapString).join(",")})`);
320
365
  const refreshShards = sql.onDialectOrElse({
321
- pg: () => acquireLock,
322
- mysql: () => acquireLock,
366
+ pg: () => {
367
+ if (!disableAdvisoryLocks) return acquireLock;
368
+ return (address, shardIds) => sql`
369
+ UPDATE ${locksTableSql}
370
+ SET acquired_at = ${sqlNow}
371
+ WHERE address = ${address} AND shard_id IN ${stringLiteralArr(shardIds)}
372
+ RETURNING shard_id
373
+ `.pipe(execWithLockConnValues, Effect.map(rows => rows.map(row => row[0])));
374
+ },
375
+ mysql: () => {
376
+ if (!disableAdvisoryLocks) return acquireLock;
377
+ return (address, shardIds) => {
378
+ const shardIdsStr = stringLiteralArr(shardIds);
379
+ return sql`
380
+ UPDATE ${locksTableSql}
381
+ SET acquired_at = ${sqlNow}
382
+ WHERE address = ${address} AND shard_id IN ${shardIdsStr};
383
+ SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND shard_id IN ${shardIdsStr}
384
+ `.pipe(execWithLockConnUnprepared, Effect.map(rows => rows[1].map(row => row.shard_id)));
385
+ };
386
+ },
323
387
  mssql: () => (address, shardIds) => sql`
324
388
  UPDATE ${locksTableSql}
325
389
  SET acquired_at = ${sqlNow}
@@ -341,31 +405,51 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
341
405
  acquire: (address, shardIds) => acquireLock(address, shardIds).pipe(PersistenceError.refail, withTracerDisabled),
342
406
  refresh: (address, shardIds) => sql`UPDATE ${runnersTableSql} SET last_heartbeat = ${sqlNow} WHERE address = ${address}`.pipe(execWithLockConn, shardIds.length > 0 ? Effect.andThen(refreshShards(address, shardIds)) : Effect.as([]), PersistenceError.refail),
343
407
  release: sql.onDialectOrElse({
344
- pg: () => Effect.fnUntraced(function* (_address, shardId) {
345
- const lockNum = lockNumbers.get(shardId);
346
- for (let i = 0; i < 5; i++) {
347
- const [conn] = yield* lockConn.await;
348
- yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
349
- const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
350
- if (takenLocks.length === 0) return;
408
+ pg: () => {
409
+ if (disableAdvisoryLocks) {
410
+ return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail);
351
411
  }
352
- const [conn] = yield* lockConn.await;
353
- yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
354
- }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail),
355
- mysql: () => Effect.fnUntraced(function* (_address, shardId) {
356
- const lockName = lockNames.get(shardId);
357
- while (true) {
358
- const [conn, pid] = yield* lockConn.await;
359
- yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
360
- const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
361
- if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
412
+ return Effect.fnUntraced(function* (_address, shardId) {
413
+ const lockNum = lockNumbers.get(shardId);
414
+ for (let i = 0; i < 5; i++) {
415
+ const [conn] = yield* lockConn.await;
416
+ yield* conn.executeRaw(`SELECT pg_advisory_unlock(${lockNum})`, []);
417
+ const takenLocks = yield* conn.executeValues(`SELECT 1 FROM pg_locks WHERE locktype = 'advisory' AND granted = true AND pid = pg_backend_pid() AND objid = ${lockNum}`, []);
418
+ if (takenLocks.length === 0) return;
419
+ }
420
+ const [conn] = yield* lockConn.await;
421
+ yield* conn.executeRaw(`SELECT pg_advisory_unlock_all()`, []);
422
+ }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail);
423
+ },
424
+ mysql: () => {
425
+ if (disableAdvisoryLocks) {
426
+ return (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail);
362
427
  }
363
- }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail),
428
+ return Effect.fnUntraced(function* (_address, shardId) {
429
+ const lockName = lockNames.get(shardId);
430
+ while (true) {
431
+ const [conn, pid] = yield* lockConn.await;
432
+ yield* conn.executeRaw(`SELECT RELEASE_LOCK('${lockName}')`, []);
433
+ const takenLocks = yield* conn.executeValues(`SELECT IS_USED_LOCK('${lockName}')`, []);
434
+ if (takenLocks.length === 0 || takenLocks[0][0] !== pid) return;
435
+ }
436
+ }, Effect.onError(() => lockConn.unsafeRebuild()), Effect.asVoid, PersistenceError.refail);
437
+ },
364
438
  orElse: () => (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail)
365
439
  }),
366
440
  releaseAll: sql.onDialectOrElse({
367
- pg: () => _address => sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled),
368
- mysql: () => _address => sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled),
441
+ pg: () => address => {
442
+ if (disableAdvisoryLocks) {
443
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled);
444
+ }
445
+ return sql`SELECT pg_advisory_unlock_all()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled);
446
+ },
447
+ mysql: () => address => {
448
+ if (disableAdvisoryLocks) {
449
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled);
450
+ }
451
+ return sql`SELECT RELEASE_ALL_LOCKS()`.pipe(execWithLockConn, Effect.asVoid, PersistenceError.refail, withTracerDisabled);
452
+ },
369
453
  orElse: () => address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled)
370
454
  })
371
455
  });
@@ -1 +1 @@
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","pid","executeValues","addFinalizerExit","executeRaw","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","from","runnersTable","runnersTableSql","hasOldTables","isSuccess","ignore","mssql","locksTable","locksTableSql","void","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","unsafeRebuild","execWithLockConnValues","acquireLock","_address","shardIds","acquiredShardIds","toAcquire","Map","shardId","lockNumbers","get","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","executeUnprepared","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","stringLiteral","csv","andThen","acquiredLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","index","lockName","shardIdsMap","Array","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","makeEncoded","getRunners","refail","String","Boolean","register","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","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","disableAdvisoryLocks","shardLockDisableAdvisory","sql","withoutTransforms","prefix","table","name","acquireLockConn","onDialectOrElse","pg","scope","conn","orDie","reserve","pipe","extend","pid","executeValues","addFinalizerExit","executeRaw","mysql","undefined","address","Math","random","Number","MAX_SAFE_INTEGER","taken","orElse","lockConn","from","runnersTable","runnersTableSql","hasOldTables","isSuccess","ignore","mssql","locksTable","locksTableSql","sqlNowString","sqlNow","literal","expiresSeconds","ceil","toSeconds","shardLockExpiration","toString","lockExpiresAt","encodeBoolean","b","sqlite","insertRunner","runner","healthy","values","unprepared","map","results","machine_id","execWithLockConn","effect","query","params","compile","await","flatMap","onError","unsafeRebuild","execWithLockConnUnprepared","executeUnprepared","execWithLockConnValues","acquireLock","shardIds","shardId","stringLiteral","csv","andThen","acquiredLocks","_address","acquiredShardIds","toAcquire","Map","lockNumbers","get","takenLocks","i","length","lockNum","push","lockNumbersReverse","delete","size","rows","pgLocks","allMySqlTakenLocks","lockTakenBy","shardIdsIndex","includes","mysqlLocks","withTransaction","shardGroups","group","base","shard","shardsPerGroup","set","lockNames","lockNamesReverse","index","lockName","shardIdsMap","Array","entries","join","stringLiteralArr","row","wrapString","s","arr","refreshShards","shardIdsStr","shard_id","makeEncoded","getRunners","refail","String","Boolean","register","unregister","asVoid","setRunnerHealth","acquire","refresh","as","release","releaseAll","layer","scoped","layerWith"],"sources":["../../src/SqlRunnerStorage.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.53.5",
3
+ "version": "0.53.6",
4
4
  "description": "Unified interfaces for common cluster-specific services",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -14,11 +14,11 @@
14
14
  "kubernetes-types": "^1.30.0"
15
15
  },
16
16
  "peerDependencies": {
17
- "@effect/workflow": "^0.13.0",
17
+ "@effect/platform": "^0.93.4",
18
18
  "@effect/rpc": "^0.72.2",
19
19
  "@effect/sql": "^0.48.0",
20
- "effect": "^3.19.6",
21
- "@effect/platform": "^0.93.3"
20
+ "@effect/workflow": "^0.13.0",
21
+ "effect": "^3.19.6"
22
22
  },
23
23
  "publishConfig": {
24
24
  "provenance": true
@@ -63,6 +63,10 @@ export class ShardingConfig extends Context.Tag("@effect/cluster/ShardingConfig"
63
63
  * Shard lock expiration duration.
64
64
  */
65
65
  readonly shardLockExpiration: DurationInput
66
+ /**
67
+ * Disable the use of advisory locks for shard locking.
68
+ */
69
+ readonly shardLockDisableAdvisory: boolean
66
70
  /**
67
71
  * Start shutting down as soon as an Entity has started shutting down.
68
72
  *
@@ -134,6 +138,7 @@ export const defaults: ShardingConfig["Type"] = {
134
138
  preemptiveShutdown: true,
135
139
  shardLockRefreshInterval: Duration.seconds(10),
136
140
  shardLockExpiration: Duration.seconds(35),
141
+ shardLockDisableAdvisory: false,
137
142
  entityMailboxCapacity: 4096,
138
143
  entityMaxIdleTime: Duration.minutes(1),
139
144
  entityRegistrationTimeout: Duration.minutes(1),
@@ -206,6 +211,10 @@ export const config: Config.Config<ShardingConfig["Type"]> = Config.all({
206
211
  Config.withDefault(defaults.shardLockExpiration),
207
212
  Config.withDescription("Shard lock expiration duration.")
208
213
  ),
214
+ shardLockDisableAdvisory: Config.boolean("shardLockDisableAdvisory").pipe(
215
+ Config.withDefault(defaults.shardLockDisableAdvisory),
216
+ Config.withDescription("Disable the use of advisory locks for shard locking.")
217
+ ),
209
218
  entityMailboxCapacity: Config.integer("entityMailboxCapacity").pipe(
210
219
  Config.withDefault(defaults.entityMailboxCapacity),
211
220
  Config.withDescription("The default capacity of the mailbox for entities.")
@@ -25,6 +25,7 @@ export const make = Effect.fnUntraced(function*(options: {
25
25
  readonly prefix?: string | undefined
26
26
  }) {
27
27
  const config = yield* ShardingConfig.ShardingConfig
28
+ const disableAdvisoryLocks = config.shardLockDisableAdvisory
28
29
  const sql = (yield* SqlClient.SqlClient).withoutTransforms()
29
30
  const prefix = options?.prefix ?? "cluster"
30
31
  const table = (name: string) => `${prefix}_${name}`
@@ -138,8 +139,22 @@ export const make = Effect.fnUntraced(function*(options: {
138
139
  acquired_at DATETIME NOT NULL
139
140
  )
140
141
  `,
141
- mysql: () => Effect.void,
142
- pg: () => Effect.void,
142
+ mysql: () =>
143
+ sql`
144
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
145
+ shard_id VARCHAR(50) PRIMARY KEY,
146
+ address VARCHAR(255) NOT NULL,
147
+ acquired_at DATETIME NOT NULL
148
+ )
149
+ `,
150
+ pg: () =>
151
+ sql`
152
+ CREATE TABLE IF NOT EXISTS ${locksTableSql} (
153
+ shard_id VARCHAR(50) PRIMARY KEY,
154
+ address VARCHAR(255) NOT NULL,
155
+ acquired_at TIMESTAMP NOT NULL
156
+ )
157
+ `,
143
158
  orElse: () =>
144
159
  // sqlite
145
160
  sql`
@@ -232,6 +247,16 @@ export const make = Effect.fnUntraced(function*(options: {
232
247
  Effect.onError(() => lockConn.unsafeRebuild())
233
248
  )
234
249
  }
250
+ const execWithLockConnUnprepared = <A>(
251
+ effect: Statement.Statement<A>
252
+ ): Effect.Effect<ReadonlyArray<ReadonlyArray<any>>, SqlError> => {
253
+ if (!lockConn) return effect.values
254
+ const [query, params] = effect.compile()
255
+ return lockConn.await.pipe(
256
+ Effect.flatMap(([conn]) => conn.executeUnprepared(query, params, undefined)),
257
+ Effect.onError(() => lockConn.unsafeRebuild())
258
+ )
259
+ }
235
260
  const execWithLockConnValues = <A>(
236
261
  effect: Statement.Statement<A>
237
262
  ): Effect.Effect<ReadonlyArray<ReadonlyArray<any>>, SqlError> => {
@@ -244,8 +269,24 @@ export const make = Effect.fnUntraced(function*(options: {
244
269
  }
245
270
 
246
271
  const acquireLock = sql.onDialectOrElse({
247
- pg: () =>
248
- Effect.fnUntraced(function*(_address: string, shardIds: ReadonlyArray<string>) {
272
+ pg: () => {
273
+ if (disableAdvisoryLocks) {
274
+ return (address: string, shardIds: ReadonlyArray<string>) => {
275
+ const values = shardIds.map((shardId) =>
276
+ sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`
277
+ )
278
+ return sql`
279
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
280
+ ON CONFLICT (shard_id) DO UPDATE
281
+ SET address = ${address}, acquired_at = ${sqlNow}
282
+ WHERE ${locksTableSql}.address = ${address}
283
+ OR ${locksTableSql}.acquired_at < ${lockExpiresAt}
284
+ `.pipe(
285
+ Effect.andThen(acquiredLocks(address, shardIds))
286
+ )
287
+ }
288
+ }
289
+ return Effect.fnUntraced(function*(_address: string, shardIds: ReadonlyArray<string>) {
249
290
  const [conn, pid] = yield* lockConn!.await
250
291
  const acquiredShardIds: Array<string> = []
251
292
  const toAcquire = new Map(shardIds.map((shardId) => [lockNumbers.get(shardId)!, shardId]))
@@ -269,10 +310,26 @@ export const make = Effect.fnUntraced(function*(options: {
269
310
  }
270
311
  }
271
312
  return acquiredShardIds
272
- }, Effect.onError(() => lockConn!.unsafeRebuild())),
313
+ }, Effect.onError(() => lockConn!.unsafeRebuild()))
314
+ },
273
315
 
274
- mysql: () =>
275
- Effect.fnUntraced(function*(_address: string, shardIds: ReadonlyArray<string>) {
316
+ mysql: () => {
317
+ if (disableAdvisoryLocks) {
318
+ return (address: string, shardIds: ReadonlyArray<string>) => {
319
+ const values = shardIds.map((shardId) =>
320
+ sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`
321
+ )
322
+ return sql`
323
+ INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
324
+ ON DUPLICATE KEY UPDATE
325
+ address = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(address), address),
326
+ acquired_at = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(acquired_at), acquired_at)
327
+ `.unprepared.pipe(
328
+ Effect.andThen(acquiredLocks(address, shardIds))
329
+ )
330
+ }
331
+ }
332
+ return Effect.fnUntraced(function*(_address: string, shardIds: ReadonlyArray<string>) {
276
333
  const [conn, pid] = yield* lockConn!.await
277
334
  const takenLocks = (yield* conn.executeValues(`SELECT ${allMySqlTakenLocks}`, []))[0] as Array<number | null>
278
335
  const acquiredShardIds: Array<string> = []
@@ -296,7 +353,8 @@ export const make = Effect.fnUntraced(function*(options: {
296
353
  }
297
354
  }
298
355
  return acquiredShardIds
299
- }, Effect.onError(() => lockConn!.unsafeRebuild())),
356
+ }, Effect.onError(() => lockConn!.unsafeRebuild()))
357
+ },
300
358
 
301
359
  mssql: () => (address: string, shardIds: ReadonlyArray<string>) => {
302
360
  const values = shardIds.map((shardId) => sql`(${stringLiteral(shardId)}, ${stringLiteral(address)}, ${sqlNow})`)
@@ -399,8 +457,34 @@ export const make = Effect.fnUntraced(function*(options: {
399
457
  const stringLiteralArr = (arr: ReadonlyArray<string>) => sql.literal(`(${arr.map(wrapString).join(",")})`)
400
458
 
401
459
  const refreshShards = sql.onDialectOrElse({
402
- pg: () => acquireLock,
403
- mysql: () => acquireLock,
460
+ pg: () => {
461
+ if (!disableAdvisoryLocks) return acquireLock
462
+ return (address: string, shardIds: ReadonlyArray<string>) =>
463
+ sql`
464
+ UPDATE ${locksTableSql}
465
+ SET acquired_at = ${sqlNow}
466
+ WHERE address = ${address} AND shard_id IN ${stringLiteralArr(shardIds)}
467
+ RETURNING shard_id
468
+ `.pipe(
469
+ execWithLockConnValues,
470
+ Effect.map((rows) => rows.map((row) => row[0] as string))
471
+ )
472
+ },
473
+ mysql: () => {
474
+ if (!disableAdvisoryLocks) return acquireLock
475
+ return (address: string, shardIds: ReadonlyArray<string>) => {
476
+ const shardIdsStr = stringLiteralArr(shardIds)
477
+ return sql<Array<{ shard_id: string }>>`
478
+ UPDATE ${locksTableSql}
479
+ SET acquired_at = ${sqlNow}
480
+ WHERE address = ${address} AND shard_id IN ${shardIdsStr};
481
+ SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND shard_id IN ${shardIdsStr}
482
+ `.pipe(
483
+ execWithLockConnUnprepared,
484
+ Effect.map((rows) => rows[1].map((row) => row.shard_id))
485
+ )
486
+ }
487
+ },
404
488
  mssql: () => (address: string, shardIds: ReadonlyArray<string>) =>
405
489
  sql`
406
490
  UPDATE ${locksTableSql}
@@ -462,8 +546,14 @@ export const make = Effect.fnUntraced(function*(options: {
462
546
  ),
463
547
 
464
548
  release: sql.onDialectOrElse({
465
- pg: () =>
466
- Effect.fnUntraced(
549
+ pg: () => {
550
+ if (disableAdvisoryLocks) {
551
+ return (address: string, shardId: string) =>
552
+ sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(
553
+ PersistenceError.refail
554
+ )
555
+ }
556
+ return Effect.fnUntraced(
467
557
  function*(_address, shardId) {
468
558
  const lockNum = lockNumbers.get(shardId)!
469
559
  for (let i = 0; i < 5; i++) {
@@ -481,9 +571,16 @@ export const make = Effect.fnUntraced(function*(options: {
481
571
  Effect.onError(() => lockConn!.unsafeRebuild()),
482
572
  Effect.asVoid,
483
573
  PersistenceError.refail
484
- ),
485
- mysql: () =>
486
- Effect.fnUntraced(
574
+ )
575
+ },
576
+ mysql: () => {
577
+ if (disableAdvisoryLocks) {
578
+ return (address: string, shardId: string) =>
579
+ sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(
580
+ PersistenceError.refail
581
+ )
582
+ }
583
+ return Effect.fnUntraced(
487
584
  function*(_address, shardId) {
488
585
  const lockName = lockNames.get(shardId)!
489
586
  while (true) {
@@ -499,7 +596,8 @@ export const make = Effect.fnUntraced(function*(options: {
499
596
  Effect.onError(() => lockConn!.unsafeRebuild()),
500
597
  Effect.asVoid,
501
598
  PersistenceError.refail
502
- ),
599
+ )
600
+ },
503
601
  orElse: () => (address, shardId) =>
504
602
  sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(
505
603
  PersistenceError.refail
@@ -507,20 +605,34 @@ export const make = Effect.fnUntraced(function*(options: {
507
605
  }),
508
606
 
509
607
  releaseAll: sql.onDialectOrElse({
510
- pg: () => (_address) =>
511
- sql`SELECT pg_advisory_unlock_all()`.pipe(
608
+ pg: () => (address) => {
609
+ if (disableAdvisoryLocks) {
610
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(
611
+ PersistenceError.refail,
612
+ withTracerDisabled
613
+ )
614
+ }
615
+ return sql`SELECT pg_advisory_unlock_all()`.pipe(
512
616
  execWithLockConn,
513
617
  Effect.asVoid,
514
618
  PersistenceError.refail,
515
619
  withTracerDisabled
516
- ),
517
- mysql: () => (_address) =>
518
- sql`SELECT RELEASE_ALL_LOCKS()`.pipe(
620
+ )
621
+ },
622
+ mysql: () => (address) => {
623
+ if (disableAdvisoryLocks) {
624
+ return sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(
625
+ PersistenceError.refail,
626
+ withTracerDisabled
627
+ )
628
+ }
629
+ return sql`SELECT RELEASE_ALL_LOCKS()`.pipe(
519
630
  execWithLockConn,
520
631
  Effect.asVoid,
521
632
  PersistenceError.refail,
522
633
  withTracerDisabled
523
- ),
634
+ )
635
+ },
524
636
  orElse: () => (address) =>
525
637
  sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(
526
638
  PersistenceError.refail,