@effect/cluster 0.37.2 → 0.38.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/ClusterCron/package.json +6 -0
  2. package/dist/cjs/ClusterCron.js +86 -0
  3. package/dist/cjs/ClusterCron.js.map +1 -0
  4. package/dist/cjs/ClusterSchema.js +9 -1
  5. package/dist/cjs/ClusterSchema.js.map +1 -1
  6. package/dist/cjs/ClusterWorkflowEngine.js +21 -6
  7. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  8. package/dist/cjs/Entity.js +6 -1
  9. package/dist/cjs/Entity.js.map +1 -1
  10. package/dist/cjs/EntityAddress.js +8 -1
  11. package/dist/cjs/EntityAddress.js.map +1 -1
  12. package/dist/cjs/MessageStorage.js +6 -4
  13. package/dist/cjs/MessageStorage.js.map +1 -1
  14. package/dist/cjs/Runner.js +15 -0
  15. package/dist/cjs/Runner.js.map +1 -1
  16. package/dist/cjs/RunnerAddress.js +8 -1
  17. package/dist/cjs/RunnerAddress.js.map +1 -1
  18. package/dist/cjs/Runners.js +5 -0
  19. package/dist/cjs/Runners.js.map +1 -1
  20. package/dist/cjs/ShardId.js +75 -7
  21. package/dist/cjs/ShardId.js.map +1 -1
  22. package/dist/cjs/ShardManager.js +63 -43
  23. package/dist/cjs/ShardManager.js.map +1 -1
  24. package/dist/cjs/ShardStorage.js +48 -35
  25. package/dist/cjs/ShardStorage.js.map +1 -1
  26. package/dist/cjs/Sharding.js +45 -37
  27. package/dist/cjs/Sharding.js.map +1 -1
  28. package/dist/cjs/ShardingConfig.js +9 -2
  29. package/dist/cjs/ShardingConfig.js.map +1 -1
  30. package/dist/cjs/Singleton.js +2 -2
  31. package/dist/cjs/Singleton.js.map +1 -1
  32. package/dist/cjs/SingletonAddress.js +2 -2
  33. package/dist/cjs/SingletonAddress.js.map +1 -1
  34. package/dist/cjs/SqlMessageStorage.js +32 -27
  35. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  36. package/dist/cjs/SqlShardStorage.js +14 -14
  37. package/dist/cjs/SqlShardStorage.js.map +1 -1
  38. package/dist/cjs/index.js +3 -1
  39. package/dist/cjs/internal/entityManager.js +2 -1
  40. package/dist/cjs/internal/entityManager.js.map +1 -1
  41. package/dist/cjs/internal/shardManager.js +138 -37
  42. package/dist/cjs/internal/shardManager.js.map +1 -1
  43. package/dist/dts/ClusterCron.d.ts +37 -0
  44. package/dist/dts/ClusterCron.d.ts.map +1 -0
  45. package/dist/dts/ClusterSchema.d.ts +8 -0
  46. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  47. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  48. package/dist/dts/Entity.d.ts +10 -0
  49. package/dist/dts/Entity.d.ts.map +1 -1
  50. package/dist/dts/EntityAddress.d.ts +9 -3
  51. package/dist/dts/EntityAddress.d.ts.map +1 -1
  52. package/dist/dts/MessageStorage.d.ts +3 -3
  53. package/dist/dts/MessageStorage.d.ts.map +1 -1
  54. package/dist/dts/Runner.d.ts +15 -0
  55. package/dist/dts/Runner.d.ts.map +1 -1
  56. package/dist/dts/RunnerAddress.d.ts +5 -0
  57. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  58. package/dist/dts/Runners.d.ts.map +1 -1
  59. package/dist/dts/ShardId.d.ts +60 -6
  60. package/dist/dts/ShardId.d.ts.map +1 -1
  61. package/dist/dts/ShardManager.d.ts +13 -13
  62. package/dist/dts/ShardManager.d.ts.map +1 -1
  63. package/dist/dts/ShardStorage.d.ts +11 -14
  64. package/dist/dts/ShardStorage.d.ts.map +1 -1
  65. package/dist/dts/Sharding.d.ts +4 -2
  66. package/dist/dts/Sharding.d.ts.map +1 -1
  67. package/dist/dts/ShardingConfig.d.ts +32 -6
  68. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  69. package/dist/dts/Singleton.d.ts +3 -1
  70. package/dist/dts/Singleton.d.ts.map +1 -1
  71. package/dist/dts/SingletonAddress.d.ts +4 -3
  72. package/dist/dts/SingletonAddress.d.ts.map +1 -1
  73. package/dist/dts/SqlMessageStorage.d.ts +3 -2
  74. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  75. package/dist/dts/SqlShardStorage.d.ts +1 -1
  76. package/dist/dts/index.d.ts +4 -0
  77. package/dist/dts/index.d.ts.map +1 -1
  78. package/dist/esm/ClusterCron.js +77 -0
  79. package/dist/esm/ClusterCron.js.map +1 -0
  80. package/dist/esm/ClusterSchema.js +7 -0
  81. package/dist/esm/ClusterSchema.js.map +1 -1
  82. package/dist/esm/ClusterWorkflowEngine.js +21 -6
  83. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  84. package/dist/esm/Entity.js +6 -1
  85. package/dist/esm/Entity.js.map +1 -1
  86. package/dist/esm/EntityAddress.js +8 -1
  87. package/dist/esm/EntityAddress.js.map +1 -1
  88. package/dist/esm/MessageStorage.js +6 -4
  89. package/dist/esm/MessageStorage.js.map +1 -1
  90. package/dist/esm/Runner.js +15 -0
  91. package/dist/esm/Runner.js.map +1 -1
  92. package/dist/esm/RunnerAddress.js +8 -1
  93. package/dist/esm/RunnerAddress.js.map +1 -1
  94. package/dist/esm/Runners.js +5 -0
  95. package/dist/esm/Runners.js.map +1 -1
  96. package/dist/esm/ShardId.js +73 -6
  97. package/dist/esm/ShardId.js.map +1 -1
  98. package/dist/esm/ShardManager.js +64 -45
  99. package/dist/esm/ShardManager.js.map +1 -1
  100. package/dist/esm/ShardStorage.js +47 -35
  101. package/dist/esm/ShardStorage.js.map +1 -1
  102. package/dist/esm/Sharding.js +45 -37
  103. package/dist/esm/Sharding.js.map +1 -1
  104. package/dist/esm/ShardingConfig.js +9 -2
  105. package/dist/esm/ShardingConfig.js.map +1 -1
  106. package/dist/esm/Singleton.js +2 -2
  107. package/dist/esm/Singleton.js.map +1 -1
  108. package/dist/esm/SingletonAddress.js +2 -2
  109. package/dist/esm/SingletonAddress.js.map +1 -1
  110. package/dist/esm/SqlMessageStorage.js +32 -27
  111. package/dist/esm/SqlMessageStorage.js.map +1 -1
  112. package/dist/esm/SqlShardStorage.js +14 -14
  113. package/dist/esm/SqlShardStorage.js.map +1 -1
  114. package/dist/esm/index.js +4 -0
  115. package/dist/esm/index.js.map +1 -1
  116. package/dist/esm/internal/entityManager.js +2 -1
  117. package/dist/esm/internal/entityManager.js.map +1 -1
  118. package/dist/esm/internal/shardManager.js +136 -36
  119. package/dist/esm/internal/shardManager.js.map +1 -1
  120. package/package.json +12 -4
  121. package/src/ClusterCron.ts +129 -0
  122. package/src/ClusterSchema.ts +9 -0
  123. package/src/ClusterWorkflowEngine.ts +37 -6
  124. package/src/Entity.ts +20 -1
  125. package/src/EntityAddress.ts +11 -1
  126. package/src/MessageStorage.ts +12 -7
  127. package/src/Runner.ts +18 -0
  128. package/src/RunnerAddress.ts +9 -1
  129. package/src/Runners.ts +5 -0
  130. package/src/ShardId.ts +81 -11
  131. package/src/ShardManager.ts +74 -45
  132. package/src/ShardStorage.ts +57 -49
  133. package/src/Sharding.ts +45 -39
  134. package/src/ShardingConfig.ts +36 -7
  135. package/src/Singleton.ts +5 -2
  136. package/src/SingletonAddress.ts +2 -2
  137. package/src/SqlMessageStorage.ts +36 -30
  138. package/src/SqlShardStorage.ts +15 -15
  139. package/src/index.ts +5 -0
  140. package/src/internal/entityManager.ts +2 -1
  141. package/src/internal/shardManager.ts +158 -52
@@ -53,19 +53,19 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
53
53
  mssql: () => sql`
54
54
  IF OBJECT_ID(N'${shardsTableSql}', N'U') IS NULL
55
55
  CREATE TABLE ${shardsTableSql} (
56
- shard_id INT PRIMARY KEY,
56
+ shard_id VARCHAR(50) PRIMARY KEY,
57
57
  address VARCHAR(255)
58
58
  )
59
59
  `,
60
60
  mysql: () => sql`
61
61
  CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
62
- shard_id INT PRIMARY KEY,
62
+ shard_id VARCHAR(50) PRIMARY KEY,
63
63
  address VARCHAR(255)
64
64
  )
65
65
  `,
66
66
  pg: () => sql`
67
67
  CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
68
- shard_id INT PRIMARY KEY,
68
+ shard_id VARCHAR(50) PRIMARY KEY,
69
69
  address VARCHAR(255)
70
70
  )
71
71
  `,
@@ -73,7 +73,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
73
73
  // sqlite
74
74
  sql`
75
75
  CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
76
- shard_id INTEGER PRIMARY KEY,
76
+ shard_id TEXT PRIMARY KEY,
77
77
  address TEXT
78
78
  )
79
79
  `
@@ -84,21 +84,21 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
84
84
  mssql: () => sql`
85
85
  IF OBJECT_ID(N'${locksTableSql}', N'U') IS NULL
86
86
  CREATE TABLE ${locksTableSql} (
87
- shard_id INT PRIMARY KEY,
87
+ shard_id VARCHAR(50) PRIMARY KEY,
88
88
  address VARCHAR(255) NOT NULL,
89
89
  acquired_at DATETIME NOT NULL
90
90
  )
91
91
  `,
92
92
  mysql: () => sql`
93
93
  CREATE TABLE IF NOT EXISTS ${locksTableSql} (
94
- shard_id INT PRIMARY KEY,
94
+ shard_id VARCHAR(50) PRIMARY KEY,
95
95
  address VARCHAR(255) NOT NULL,
96
96
  acquired_at DATETIME NOT NULL
97
97
  )
98
98
  `,
99
99
  pg: () => sql`
100
100
  CREATE TABLE IF NOT EXISTS ${locksTableSql} (
101
- shard_id INT PRIMARY KEY,
101
+ shard_id VARCHAR(50) PRIMARY KEY,
102
102
  address VARCHAR(255) NOT NULL,
103
103
  acquired_at TIMESTAMP NOT NULL
104
104
  )
@@ -107,7 +107,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
107
107
  // sqlite
108
108
  sql`
109
109
  CREATE TABLE IF NOT EXISTS ${locksTableSql} (
110
- shard_id INTEGER PRIMARY KEY,
110
+ shard_id TEXT PRIMARY KEY,
111
111
  address TEXT NOT NULL,
112
112
  acquired_at DATETIME NOT NULL
113
113
  )
@@ -121,7 +121,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
121
121
  });
122
122
  const sqlNow = sql.literal(sqlNowString);
123
123
  const lockExpiresAt = sql.onDialectOrElse({
124
- pg: () => sql`${sqlNow} - INTERVAL '5 seconds'`,
124
+ pg: () => sql`${sqlNow} - INTERVAL '10 seconds'`,
125
125
  mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 5 SECOND)`,
126
126
  mssql: () => sql`DATEADD(SECOND, -5, ${sqlNow})`,
127
127
  orElse: () => sql`datetime(${sqlNow}, '-5 seconds')`
@@ -171,7 +171,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
171
171
  sqlite: () => sql.literal(""),
172
172
  orElse: () => sql.literal("FOR UPDATE")
173
173
  });
174
- return yield* ShardStorage.makeEncoded({
174
+ return ShardStorage.makeEncoded({
175
175
  getAssignments: sql`SELECT shard_id, address FROM ${shardsTableSql} ORDER BY shard_id`.values.pipe(PersistenceError.refail, withTracerDisabled),
176
176
  saveAssignments: assignments => {
177
177
  const remove = sql`DELETE FROM ${shardsTableSql}`;
@@ -196,12 +196,12 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
196
196
  yield* acquireLock(address, values);
197
197
  const currentLocks = yield* sql`
198
198
  SELECT shard_id FROM ${sql(locksTable)}
199
- WHERE address = ${address} AND ${sql.in("shard_id", shardIds)}
199
+ WHERE address = ${address} AND acquired_at >= ${lockExpiresAt}
200
200
  ${forUpdate}
201
- `;
202
- return currentLocks.map(row => row.shard_id);
201
+ `.values;
202
+ return currentLocks.map(row => row[0]);
203
203
  }, sql.withTransaction, PersistenceError.refail, withTracerDisabled),
204
- refresh: (address, shardIds) => sql`UPDATE ${locksTableSql} SET acquired_at = ${sqlNow} WHERE address = ${address} AND ${sql.in("shard_id", shardIds)}`.pipe(Effect.andThen(sql`SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND acquired_at >= ${lockExpiresAt} ${forUpdate}`.values), Effect.map(rows => rows.map(row => Number(row[0]))), PersistenceError.refail, withTracerDisabled),
204
+ refresh: (address, shardIds) => sql`UPDATE ${locksTableSql} SET acquired_at = ${sqlNow} WHERE address = ${address} AND ${sql.in("shard_id", shardIds)}`.pipe(Effect.andThen(sql`SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND acquired_at >= ${lockExpiresAt} ${forUpdate}`.values), Effect.map(rows => rows.map(row => row[0])), PersistenceError.refail, withTracerDisabled),
205
205
  release: (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled),
206
206
  releaseAll: address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled)
207
207
  });
@@ -1 +1 @@
1
- {"version":3,"file":"SqlShardStorage.js","names":["SqlClient","Arr","Effect","Layer","PersistenceError","ShardStorage","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","runnersTable","runnersTableSql","onDialectOrElse","mssql","mysql","pg","orElse","shardsTable","shardsTableSql","locksTable","locksTableSql","sqlNowString","sqlNow","literal","lockExpiresAt","acquireLock","address","values","csv","_address","unprepared","forUpdate","sqlite","makeEncoded","getAssignments","pipe","refail","saveAssignments","assignments","remove","length","map","shardId","andThen","withTransaction","getRunners","runner","String","saveRunners","runners","insert","acquire","shardIds","currentLocks","in","row","shard_id","refresh","rows","Number","release","releaseAll","layer","effect","layerWith","scoped"],"sources":["../../src/SqlShardStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"SqlShardStorage.js","names":["SqlClient","Arr","Effect","Layer","PersistenceError","ShardStorage","withTracerDisabled","withTracerEnabled","make","fnUntraced","options","sql","withoutTransforms","prefix","table","name","runnersTable","runnersTableSql","onDialectOrElse","mssql","mysql","pg","orElse","shardsTable","shardsTableSql","locksTable","locksTableSql","sqlNowString","sqlNow","literal","lockExpiresAt","acquireLock","address","values","csv","_address","unprepared","forUpdate","sqlite","makeEncoded","getAssignments","pipe","refail","saveAssignments","assignments","remove","length","map","shardId","andThen","withTransaction","getRunners","runner","String","saveRunners","runners","insert","acquire","shardIds","currentLocks","row","refresh","in","rows","release","releaseAll","layer","effect","layerWith","scoped"],"sources":["../../src/SqlShardStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/esm/index.js CHANGED
@@ -1,3 +1,7 @@
1
+ /**
2
+ * @since 1.0.0
3
+ */
4
+ export * as ClusterCron from "./ClusterCron.js";
1
5
  /**
2
6
  * @since 1.0.0
3
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["ClusterError","ClusterMetrics","ClusterSchema","ClusterWorkflowEngine","DeliverAt","Entity","EntityAddress","EntityId","EntityType","Envelope","HttpCommon","HttpRunner","HttpShardManager","MachineId","Message","MessageStorage","Reply","Runner","RunnerAddress","RunnerHealth","RunnerServer","Runners","ShardId","ShardManager","ShardStorage","Sharding","ShardingConfig","ShardingRegistrationEvent","Singleton","SingletonAddress","Snowflake","SocketRunner","SocketShardManager","SqlMessageStorage","SqlShardStorage","SynchronizedClock"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,yBAAyB,MAAM,gCAAgC;AAE3E;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["ClusterCron","ClusterError","ClusterMetrics","ClusterSchema","ClusterWorkflowEngine","DeliverAt","Entity","EntityAddress","EntityId","EntityType","Envelope","HttpCommon","HttpRunner","HttpShardManager","MachineId","Message","MessageStorage","Reply","Runner","RunnerAddress","RunnerHealth","RunnerServer","Runners","ShardId","ShardManager","ShardStorage","Sharding","ShardingConfig","ShardingRegistrationEvent","Singleton","SingletonAddress","Snowflake","SocketRunner","SocketShardManager","SqlMessageStorage","SqlShardStorage","SynchronizedClock"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,WAAW,MAAM,kBAAkB;AAE/C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,qBAAqB,MAAM,4BAA4B;AAEnE;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,UAAU,MAAM,iBAAiB;AAE7C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC;;;AAGA,OAAO,KAAKC,MAAM,MAAM,aAAa;AAErC;;;AAGA,OAAO,KAAKC,aAAa,MAAM,oBAAoB;AAEnD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAEzC;;;AAGA,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD;;;AAGA,OAAO,KAAKC,yBAAyB,MAAM,gCAAgC;AAE3E;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,gBAAgB,MAAM,uBAAuB;AAEzD;;;AAGA,OAAO,KAAKC,SAAS,MAAM,gBAAgB;AAE3C;;;AAGA,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD;;;AAGA,OAAO,KAAKC,kBAAkB,MAAM,yBAAyB;AAE7D;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB;AAE3D;;;AAGA,OAAO,KAAKC,eAAe,MAAM,sBAAsB;AAEvD;;;AAGA,OAAO,KAAKC,iBAAiB,MAAM,wBAAwB","ignoreList":[]}
@@ -5,6 +5,7 @@ import * as Cause from "effect/Cause";
5
5
  import * as Context from "effect/Context";
6
6
  import * as Duration from "effect/Duration";
7
7
  import * as Effect from "effect/Effect";
8
+ import * as Equal from "effect/Equal";
8
9
  import * as Exit from "effect/Exit";
9
10
  import * as FiberRef from "effect/FiberRef";
10
11
  import { identity } from "effect/Function";
@@ -255,7 +256,7 @@ export const make = /*#__PURE__*/Effect.fnUntraced(function* (entity, buildHandl
255
256
  const interruptShard = shardId => Effect.suspend(function loop() {
256
257
  const toInterrupt = new Set();
257
258
  for (const state of activeServers.values()) {
258
- if (shardId === state.address.shardId) {
259
+ if (shardId[Equal.symbol](state.address.shardId)) {
259
260
  toInterrupt.add(state);
260
261
  }
261
262
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entityManager.js","names":["RequestId","RpcServer","Arr","Cause","Context","Duration","Effect","Exit","FiberRef","identity","HashMap","Metric","Option","Schedule","Schema","Scope","AlreadyProcessingMessage","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","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","onFromServer","response","_tag","request","get","requestId","void","sentReply","rpc","annotations","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","effect","unsafeRebuild","Array","keys","logError","die","defect","andThen","tapErrorCause","retry","spaced","annotateLogs","module","runner","open","extend","sync","write","envelope","tag","payload","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","cause","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","push","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
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","activeServers","Map","entities","address","sharding","isShutdown","endLatch","makeLatch","addFinalizer","ignore","resetAddress","activeRequests","defectRequestIds","writeRef","from","isShuttingDown","handlers","protocol","toHandlersContext","pipe","provide","add","runnerAddress","locally","currentLogAnnotations","empty","server","makeNoSerialization","spanPrefix","type","entityId","concurrency","onFromServer","response","_tag","request","get","requestId","void","sentReply","rpc","annotations","isInterrupted","exit","retryRespond","suspend","message","respond","WithExit","id","unsafeNext","flatMap","delete","size","state","lastActiveCheck","unsafeCurrentTimeMillis","orDie","sequence","reply","Chunk","values","lastSentChunk","some","effect","unsafeRebuild","Array","keys","logError","die","defect","andThen","tapErrorCause","retry","spaced","annotateLogs","module","runner","open","extend","sync","write","envelope","tag","payload","mailboxGauge","mailboxSize","tagged","clientId","current","await","value","withFiberRuntime","fiber","interruptible","timeoutOption","entityTerminationTimeout","set","reaper","maxIdleTime","toMillis","entityMaxIdleTime","Number","isFinite","register","servers","gauge","unsafeUpdate","BigInt","sleep","forever","forkIn","sendLocal","entry","fail","envelopeId","requests","dieMessage","lastSentReply","match","onNone","onSome","isSome","replyId","interruptors","interruptShard","shardId","loop","toInterrupt","Set","symbol","forEach","removeIgnore","discard","decodeMessage","decode","makeMessageSchema","isProcessingFor","undefined","excludeReplies","send","matchEffect","onFailure","cause","ReplyWithContext","onSuccess","decoded","IncomingEnvelope","IncomingRequestLocal","activeEntityCount","push","TaggedStruct","transform","Struct","PartialEncodedRequestFromSelf","fields","Literal","payloadSchema","RequestFromSelf","encoded","makeRequest","encode","OptionFromSelf","Union","typeSchema","AckChunk","Interrupt","times","catchAll","delay"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -11,9 +11,11 @@ import { ShardId } from "../ShardId.js";
11
11
  import { ShardStorage } from "../ShardStorage.js";
12
12
  /** @internal */
13
13
  export class State {
14
+ allRunners;
14
15
  runners;
15
16
  shards;
16
- static fromStorage = /*#__PURE__*/Effect.fnUntraced(function* (numberOfShards) {
17
+ shardsPerGroup;
18
+ static fromStorage = /*#__PURE__*/Effect.fnUntraced(function* (shardsPerGroup) {
17
19
  const storage = yield* ShardStorage;
18
20
  const runnerHealth = yield* RunnerHealth;
19
21
  // Fetch registered runners and shard assignments from cluster storage
@@ -36,11 +38,11 @@ export class State {
36
38
  yield* Effect.logWarning("Ignoring runners that are no longer considered alive:", deadRunners);
37
39
  }
38
40
  // Determine which shards remain unassigned to a runner
39
- const assignedShards = new Map();
41
+ const assignedShards = MutableHashMap.empty();
40
42
  const invalidAssignments = Arr.empty();
41
43
  for (const [shard, address] of storedAssignments) {
42
44
  if (Option.isSome(address) && MutableHashMap.has(aliveRunners, address.value)) {
43
- assignedShards.set(shard, address.value);
45
+ MutableHashMap.set(assignedShards, shard, address.value);
44
46
  } else if (Option.isSome(address)) {
45
47
  invalidAssignments.push([shard, address.value]);
46
48
  }
@@ -50,28 +52,98 @@ export class State {
50
52
  }
51
53
  // Construct the initial state
52
54
  const now = yield* Clock.currentTimeMillis;
53
- const runnerState = MutableHashMap.empty();
55
+ const allRunners = MutableHashMap.empty();
56
+ const runnerState = new Map();
57
+ // for (const group of groups) {
58
+ // runnerState.set(group, MutableHashMap.empty<RunnerAddress, RunnerWithMetadata>())
59
+ // }
54
60
  for (const [address, runner] of aliveRunners) {
55
- MutableHashMap.set(runnerState, address, RunnerWithMetadata({
61
+ const withMetadata = RunnerWithMetadata({
56
62
  runner,
57
63
  registeredAt: now
58
- }));
64
+ });
65
+ MutableHashMap.set(allRunners, address, withMetadata);
66
+ for (const group of runner.groups) {
67
+ let groupMap = runnerState.get(group);
68
+ if (!groupMap) {
69
+ groupMap = MutableHashMap.empty();
70
+ runnerState.set(group, groupMap);
71
+ }
72
+ MutableHashMap.set(groupMap, address, withMetadata);
73
+ }
59
74
  }
60
75
  const shardState = new Map();
61
- for (let n = 1; n <= numberOfShards; n++) {
62
- const shardId = ShardId.make(n);
63
- shardState.set(shardId, Option.fromNullable(assignedShards.get(shardId)));
76
+ for (const group of runnerState.keys()) {
77
+ const groupMap = new Map();
78
+ shardState.set(group, groupMap);
79
+ for (let n = 1; n <= shardsPerGroup; n++) {
80
+ const shardId = new ShardId({
81
+ group,
82
+ id: n
83
+ });
84
+ groupMap.set(n, MutableHashMap.get(assignedShards, shardId));
85
+ }
64
86
  }
65
- return new State(runnerState, shardState);
87
+ return new State(allRunners, runnerState, shardState, shardsPerGroup);
66
88
  });
67
- constructor(runners, shards) {
89
+ constructor(allRunners, runners, shards, shardsPerGroup) {
90
+ this.allRunners = allRunners;
68
91
  this.runners = runners;
69
92
  this.shards = shards;
93
+ this.shardsPerGroup = shardsPerGroup;
94
+ this.assignments = MutableHashMap.empty();
95
+ for (const [group, groupMap] of this.shards) {
96
+ for (const [id, address] of groupMap) {
97
+ MutableHashMap.set(this.assignments, new ShardId({
98
+ group,
99
+ id
100
+ }), address);
101
+ }
102
+ }
103
+ }
104
+ assignments;
105
+ addGroup(group) {
106
+ this.runners.set(group, MutableHashMap.empty());
107
+ const shardMap = new Map();
108
+ for (let n = 1; n <= this.shardsPerGroup; n++) {
109
+ shardMap.set(n, Option.none());
110
+ MutableHashMap.set(this.assignments, new ShardId({
111
+ group,
112
+ id: n
113
+ }), Option.none());
114
+ }
115
+ this.shards.set(group, shardMap);
116
+ }
117
+ addAssignments(shards, address) {
118
+ for (const shardId of shards) {
119
+ MutableHashMap.set(this.assignments, shardId, address);
120
+ this.shards.get(shardId.group)?.set(shardId.id, address);
121
+ }
122
+ }
123
+ addRunner(runner, registeredAt) {
124
+ const withMetadata = RunnerWithMetadata({
125
+ runner,
126
+ registeredAt
127
+ });
128
+ MutableHashMap.set(this.allRunners, runner.address, withMetadata);
129
+ for (const group of runner.groups) {
130
+ if (!this.runners.has(group)) {
131
+ this.addGroup(group);
132
+ }
133
+ const groupMap = this.runners.get(group);
134
+ MutableHashMap.set(groupMap, runner.address, withMetadata);
135
+ }
136
+ }
137
+ removeRunner(address) {
138
+ MutableHashMap.remove(this.allRunners, address);
139
+ for (const groupMap of this.runners.values()) {
140
+ MutableHashMap.remove(groupMap, address);
141
+ }
70
142
  }
71
143
  get maxVersion() {
72
- if (MutableHashMap.size(this.runners) === 0) return Option.none();
144
+ if (MutableHashMap.size(this.allRunners) === 0) return Option.none();
73
145
  let version = undefined;
74
- for (const [, meta] of this.runners) {
146
+ for (const [, meta] of this.allRunners) {
75
147
  if (version === undefined || meta.runner.version > version) {
76
148
  version = meta.runner.version;
77
149
  }
@@ -81,26 +153,39 @@ export class State {
81
153
  allRunnersHaveVersion(version) {
82
154
  return version.pipe(Option.map(max => Arr.every(this.runnerVersions, version => version === max)), Option.getOrElse(constFalse));
83
155
  }
84
- get shardsPerRunner() {
156
+ shardsPerRunner(group) {
157
+ const groupRunners = this.runners.get(group);
85
158
  const shards = MutableHashMap.empty();
86
- if (MutableHashMap.isEmpty(this.runners)) return shards;
87
- MutableHashMap.forEach(this.runners, (_, address) => {
159
+ if (!groupRunners || MutableHashMap.isEmpty(groupRunners)) return shards;
160
+ MutableHashMap.forEach(groupRunners, (_, address) => {
88
161
  MutableHashMap.set(shards, address, new Set());
89
162
  });
90
- for (const [shard, address] of this.shards) {
163
+ const assignments = this.shards.get(group);
164
+ for (const [id, address] of assignments) {
91
165
  if (Option.isNone(address)) continue;
92
166
  const shardIds = Option.getOrUndefined(MutableHashMap.get(shards, address.value));
93
- shardIds.add(shard);
167
+ shardIds.add(id);
94
168
  }
95
169
  return shards;
96
170
  }
97
- get averageShardsPerRunner() {
98
- const runnerCount = MutableHashMap.size(this.runners);
99
- return runnerCount > 0 ? this.shards.size / runnerCount : 0;
171
+ averageShardsPerRunner(group) {
172
+ const runnerCount = MutableHashMap.size(this.runners.get(group) ?? MutableHashMap.empty());
173
+ const shardGroup = this.shards.get(group) ?? new Map();
174
+ return runnerCount > 0 ? shardGroup.size / runnerCount : 0;
100
175
  }
101
- get unassignedShards() {
176
+ get allUnassignedShards() {
177
+ const unassigned = [];
178
+ for (const [shardId, address] of this.assignments) {
179
+ if (Option.isNone(address)) {
180
+ unassigned.push(shardId);
181
+ }
182
+ }
183
+ return unassigned;
184
+ }
185
+ unassignedShards(group) {
102
186
  const shardIds = [];
103
- for (const [shard, address] of this.shards) {
187
+ const assignments = this.shards.get(group);
188
+ for (const [shard, address] of assignments) {
104
189
  if (Option.isNone(address)) {
105
190
  shardIds.push(shard);
106
191
  }
@@ -109,7 +194,7 @@ export class State {
109
194
  }
110
195
  get runnerVersions() {
111
196
  const runnerVersions = [];
112
- for (const [, meta] of this.runners) {
197
+ for (const [, meta] of this.allRunners) {
113
198
  runnerVersions.push(meta.runner.version);
114
199
  }
115
200
  return runnerVersions;
@@ -118,22 +203,24 @@ export class State {
118
203
  /** @internal */
119
204
  export const RunnerWithMetadata = runner => runner;
120
205
  /** @internal */
121
- export function decideAssignmentsForUnassignedShards(state) {
122
- return pickNewRunners(state.unassignedShards, state, true, 1);
206
+ export function decideAssignmentsForUnassignedShards(state, group) {
207
+ return pickNewRunners(state.unassignedShards(group), state, group, true, 1);
123
208
  }
124
209
  const allocationOrder = /*#__PURE__*/Order.combine(/*#__PURE__*/Order.mapInput(Order.number, ([, shards]) => shards), /*#__PURE__*/Order.mapInput(Order.number, ([,, registeredAt]) => registeredAt));
125
210
  /** @internal */
126
- export function decideAssignmentsForUnbalancedShards(state, rate) {
127
- const shardsPerRunner = state.shardsPerRunner;
211
+ export function decideAssignmentsForUnbalancedShards(state, group, rate) {
212
+ const shardsPerRunner = state.shardsPerRunner(group);
128
213
  const maxVersion = state.maxVersion;
129
214
  const extraShardsToAllocate = Arr.empty();
215
+ const runnerGroup = state.runners.get(group);
216
+ const shardsGroup = state.shards.get(group);
130
217
  if (state.allRunnersHaveVersion(maxVersion)) {
131
- const averageShardsPerRunner = state.averageShardsPerRunner;
218
+ const averageShardsPerRunner = state.averageShardsPerRunner(group);
132
219
  MutableHashMap.forEach(shardsPerRunner, shards => {
133
220
  // Count how many extra shards there are compared to the average
134
221
  const extraShards = Math.max(0, shards.size - averageShardsPerRunner);
135
222
  for (const shard of takeRandom(shards, extraShards)) {
136
- const maybeAddress = state.shards.get(shard) ?? Option.none();
223
+ const maybeAddress = shardsGroup.get(shard) ?? Option.none();
137
224
  if (Option.isNone(maybeAddress)) {
138
225
  extraShardsToAllocate.push([shard, Number.MIN_SAFE_INTEGER, Number.MIN_SAFE_INTEGER]);
139
226
  continue;
@@ -142,7 +229,7 @@ export function decideAssignmentsForUnbalancedShards(state, rate) {
142
229
  extraShardsToAllocate.push([shard, Option.match(MutableHashMap.get(shardsPerRunner, address), {
143
230
  onNone: () => Number.MIN_SAFE_INTEGER,
144
231
  onSome: shards => -shards.size
145
- }), Option.match(MutableHashMap.get(state.runners, address), {
232
+ }), Option.match(MutableHashMap.get(runnerGroup, address), {
146
233
  onNone: () => Number.MIN_SAFE_INTEGER,
147
234
  onSome: meta => meta.registeredAt
148
235
  })]);
@@ -150,9 +237,9 @@ export function decideAssignmentsForUnbalancedShards(state, rate) {
150
237
  });
151
238
  }
152
239
  const sortedShardsToRebalance = extraShardsToAllocate.sort(allocationOrder).map(([shard]) => shard);
153
- return pickNewRunners(sortedShardsToRebalance, state, false, rate, shardsPerRunner, maxVersion);
240
+ return pickNewRunners(sortedShardsToRebalance, state, group, false, rate, shardsPerRunner, maxVersion);
154
241
  }
155
- function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunner = state.shardsPerRunner, maybeMaxVersion = state.maxVersion) {
242
+ function pickNewRunners(shardsToRebalance, state, group, immediate, rate, shardsPerRunner = state.shardsPerRunner(group), maybeMaxVersion = state.maxVersion) {
156
243
  const addressAssignments = MutableHashMap.empty();
157
244
  const unassignments = MutableHashMap.empty();
158
245
  const changes = MutableHashSet.empty();
@@ -160,13 +247,15 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
160
247
  return [addressAssignments, unassignments, changes];
161
248
  }
162
249
  const maxVersion = maybeMaxVersion.value;
250
+ const runnerGroup = state.runners.get(group);
251
+ const shardsGroup = state.shards.get(group);
163
252
  for (const shardId of shardsToRebalance) {
164
253
  // Find the runner with the fewest assigned shards
165
254
  let candidate;
166
255
  let candidateShards;
167
256
  for (const [address, shards] of shardsPerRunner) {
168
257
  // Keep only runners with the maximum version
169
- const maybeRunnerMeta = MutableHashMap.get(state.runners, address);
258
+ const maybeRunnerMeta = MutableHashMap.get(runnerGroup, address);
170
259
  if (Option.isNone(maybeRunnerMeta)) continue;
171
260
  const runnerMeta = maybeRunnerMeta.value;
172
261
  if (runnerMeta.runner.version !== maxVersion) continue;
@@ -176,7 +265,7 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
176
265
  // occur immediately
177
266
  if (!immediate) {
178
267
  const assignmentCount = Option.getOrUndefined(MutableHashMap.get(addressAssignments, address))?.size ?? 0;
179
- if (assignmentCount >= state.shards.size * rate) continue;
268
+ if (assignmentCount >= shardsGroup.size * rate) continue;
180
269
  }
181
270
  if (candidate === undefined || shards.size < candidateShards.size) {
182
271
  candidate = address;
@@ -185,7 +274,7 @@ function pickNewRunners(shardsToRebalance, state, immediate, rate, shardsPerRunn
185
274
  }
186
275
  if (!candidate || !candidateShards) break;
187
276
  // If the old runner is the same as the new runner, do nothing
188
- const oldRunner = Option.getOrUndefined(state.shards.get(shardId) ?? Option.none());
277
+ const oldRunner = Option.getOrUndefined(shardsGroup.get(shardId) ?? Option.none());
189
278
  if (oldRunner && oldRunner.toString() === candidate.toString()) {
190
279
  continue;
191
280
  }
@@ -237,4 +326,15 @@ function swap(array, i, j) {
237
326
  array[j] = tmp;
238
327
  return array;
239
328
  }
329
+ /** @internal */
330
+ export const addAllNested = (self, key, values) => {
331
+ const oset = MutableHashMap.get(self, key);
332
+ if (Option.isSome(oset)) {
333
+ for (const value of values) {
334
+ MutableHashSet.add(oset.value, value);
335
+ }
336
+ } else {
337
+ MutableHashMap.set(self, key, MutableHashSet.fromIterable(values));
338
+ }
339
+ };
240
340
  //# sourceMappingURL=shardManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shardManager.js","names":["Arr","Clock","Effect","constFalse","MutableHashMap","MutableHashSet","Option","Order","RunnerHealth","ShardId","ShardStorage","State","runners","shards","fromStorage","fnUntraced","numberOfShards","storage","runnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","set","push","concurrency","discard","length","logWarning","assignedShards","Map","invalidAssignments","shard","isSome","has","value","now","currentTimeMillis","runnerState","RunnerWithMetadata","registeredAt","shardState","n","shardId","make","fromNullable","get","constructor","maxVersion","size","none","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","shardsPerRunner","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","unassignedShards","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","toString","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","i","j","tmp"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"shardManager.js","names":["Arr","Clock","Effect","constFalse","MutableHashMap","MutableHashSet","Option","Order","RunnerHealth","ShardId","ShardStorage","State","allRunners","runners","shards","shardsPerGroup","fromStorage","fnUntraced","storage","runnerHealth","storedRunners","getRunners","storedAssignments","getAssignments","deadRunners","empty","aliveRunners","forEach","address","runner","map","isAlive","set","push","concurrency","discard","length","logWarning","assignedShards","invalidAssignments","shard","isSome","has","value","now","currentTimeMillis","runnerState","Map","withMetadata","RunnerWithMetadata","registeredAt","group","groups","groupMap","get","shardState","keys","n","shardId","id","constructor","assignments","addGroup","shardMap","none","addAssignments","addRunner","removeRunner","remove","values","maxVersion","size","version","undefined","meta","some","allRunnersHaveVersion","pipe","max","every","runnerVersions","getOrElse","shardsPerRunner","groupRunners","isEmpty","_","Set","isNone","shardIds","getOrUndefined","add","averageShardsPerRunner","runnerCount","shardGroup","allUnassignedShards","unassigned","unassignedShards","decideAssignmentsForUnassignedShards","state","pickNewRunners","allocationOrder","combine","mapInput","number","decideAssignmentsForUnbalancedShards","rate","extraShardsToAllocate","runnerGroup","shardsGroup","extraShards","Math","takeRandom","maybeAddress","Number","MIN_SAFE_INTEGER","match","onNone","onSome","sortedShardsToRebalance","sort","shardsToRebalance","immediate","maybeMaxVersion","addressAssignments","unassignments","changes","candidate","candidateShards","maybeRunnerMeta","runnerMeta","assignmentCount","oldRunner","toString","oldShards","modifyAt","delete","self","array","Array","from","currentIndex","randomIndex","floor","random","swap","slice","i","j","tmp","addAllNested","key","oset","fromIterable"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}