@effect/cluster 0.50.6 → 0.52.0

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 (232) hide show
  1. package/RunnerStorage/package.json +6 -0
  2. package/SqlRunnerStorage/package.json +6 -0
  3. package/dist/cjs/ClusterError.js +2 -24
  4. package/dist/cjs/ClusterError.js.map +1 -1
  5. package/dist/cjs/ClusterMetrics.js +13 -15
  6. package/dist/cjs/ClusterMetrics.js.map +1 -1
  7. package/dist/cjs/ClusterSchema.js +17 -2
  8. package/dist/cjs/ClusterSchema.js.map +1 -1
  9. package/dist/cjs/ClusterWorkflowEngine.js +50 -83
  10. package/dist/cjs/ClusterWorkflowEngine.js.map +1 -1
  11. package/dist/cjs/Entity.js +1 -13
  12. package/dist/cjs/Entity.js.map +1 -1
  13. package/dist/cjs/EntityAddress.js +9 -1
  14. package/dist/cjs/EntityAddress.js.map +1 -1
  15. package/dist/cjs/EntityId.js +7 -1
  16. package/dist/cjs/EntityId.js.map +1 -1
  17. package/dist/cjs/EntityProxy.js +1 -1
  18. package/dist/cjs/EntityProxy.js.map +1 -1
  19. package/dist/cjs/HttpRunner.js +69 -43
  20. package/dist/cjs/HttpRunner.js.map +1 -1
  21. package/dist/cjs/MessageStorage.js +64 -16
  22. package/dist/cjs/MessageStorage.js.map +1 -1
  23. package/dist/cjs/Runner.js +3 -3
  24. package/dist/cjs/Runner.js.map +1 -1
  25. package/dist/cjs/RunnerAddress.js +7 -0
  26. package/dist/cjs/RunnerAddress.js.map +1 -1
  27. package/dist/cjs/RunnerHealth.js +91 -32
  28. package/dist/cjs/RunnerHealth.js.map +1 -1
  29. package/dist/cjs/RunnerServer.js +38 -24
  30. package/dist/cjs/RunnerServer.js.map +1 -1
  31. package/dist/cjs/RunnerStorage.js +100 -0
  32. package/dist/cjs/RunnerStorage.js.map +1 -0
  33. package/dist/cjs/Runners.js +18 -22
  34. package/dist/cjs/Runners.js.map +1 -1
  35. package/dist/cjs/ShardId.js +17 -7
  36. package/dist/cjs/ShardId.js.map +1 -1
  37. package/dist/cjs/Sharding.js +444 -320
  38. package/dist/cjs/Sharding.js.map +1 -1
  39. package/dist/cjs/ShardingConfig.js +10 -14
  40. package/dist/cjs/ShardingConfig.js.map +1 -1
  41. package/dist/cjs/Snowflake.js +1 -1
  42. package/dist/cjs/SocketRunner.js +1 -1
  43. package/dist/cjs/SocketRunner.js.map +1 -1
  44. package/dist/cjs/SqlMessageStorage.js +22 -28
  45. package/dist/cjs/SqlMessageStorage.js.map +1 -1
  46. package/dist/cjs/SqlRunnerStorage.js +375 -0
  47. package/dist/cjs/SqlRunnerStorage.js.map +1 -0
  48. package/dist/cjs/index.js +5 -15
  49. package/dist/cjs/internal/entityManager.js +42 -23
  50. package/dist/cjs/internal/entityManager.js.map +1 -1
  51. package/dist/dts/ClusterError.d.ts +0 -22
  52. package/dist/dts/ClusterError.d.ts.map +1 -1
  53. package/dist/dts/ClusterMetrics.d.ts +4 -14
  54. package/dist/dts/ClusterMetrics.d.ts.map +1 -1
  55. package/dist/dts/ClusterSchema.d.ts +9 -1
  56. package/dist/dts/ClusterSchema.d.ts.map +1 -1
  57. package/dist/dts/ClusterWorkflowEngine.d.ts.map +1 -1
  58. package/dist/dts/Entity.d.ts +3 -14
  59. package/dist/dts/Entity.d.ts.map +1 -1
  60. package/dist/dts/EntityAddress.d.ts +11 -0
  61. package/dist/dts/EntityAddress.d.ts.map +1 -1
  62. package/dist/dts/EntityId.d.ts +5 -0
  63. package/dist/dts/EntityId.d.ts.map +1 -1
  64. package/dist/dts/EntityProxy.d.ts +5 -6
  65. package/dist/dts/EntityProxy.d.ts.map +1 -1
  66. package/dist/dts/HttpRunner.d.ts +48 -25
  67. package/dist/dts/HttpRunner.d.ts.map +1 -1
  68. package/dist/dts/MessageStorage.d.ts +13 -5
  69. package/dist/dts/MessageStorage.d.ts.map +1 -1
  70. package/dist/dts/Runner.d.ts +4 -4
  71. package/dist/dts/Runner.d.ts.map +1 -1
  72. package/dist/dts/RunnerAddress.d.ts +5 -0
  73. package/dist/dts/RunnerAddress.d.ts.map +1 -1
  74. package/dist/dts/RunnerHealth.d.ts +24 -16
  75. package/dist/dts/RunnerHealth.d.ts.map +1 -1
  76. package/dist/dts/RunnerServer.d.ts +5 -4
  77. package/dist/dts/RunnerServer.d.ts.map +1 -1
  78. package/dist/dts/{ShardStorage.d.ts → RunnerStorage.d.ts} +41 -54
  79. package/dist/dts/RunnerStorage.d.ts.map +1 -0
  80. package/dist/dts/Runners.d.ts +15 -11
  81. package/dist/dts/Runners.d.ts.map +1 -1
  82. package/dist/dts/ShardId.d.ts +1 -1
  83. package/dist/dts/ShardId.d.ts.map +1 -1
  84. package/dist/dts/Sharding.d.ts +20 -10
  85. package/dist/dts/Sharding.d.ts.map +1 -1
  86. package/dist/dts/ShardingConfig.d.ts +40 -14
  87. package/dist/dts/ShardingConfig.d.ts.map +1 -1
  88. package/dist/dts/SocketRunner.d.ts +4 -3
  89. package/dist/dts/SocketRunner.d.ts.map +1 -1
  90. package/dist/dts/SqlMessageStorage.d.ts +2 -3
  91. package/dist/dts/SqlMessageStorage.d.ts.map +1 -1
  92. package/dist/dts/SqlRunnerStorage.d.ts +40 -0
  93. package/dist/dts/SqlRunnerStorage.d.ts.map +1 -0
  94. package/dist/dts/index.d.ts +4 -24
  95. package/dist/dts/index.d.ts.map +1 -1
  96. package/dist/esm/ClusterError.js +0 -21
  97. package/dist/esm/ClusterError.js.map +1 -1
  98. package/dist/esm/ClusterMetrics.js +12 -14
  99. package/dist/esm/ClusterMetrics.js.map +1 -1
  100. package/dist/esm/ClusterSchema.js +17 -2
  101. package/dist/esm/ClusterSchema.js.map +1 -1
  102. package/dist/esm/ClusterWorkflowEngine.js +50 -83
  103. package/dist/esm/ClusterWorkflowEngine.js.map +1 -1
  104. package/dist/esm/Entity.js +0 -12
  105. package/dist/esm/Entity.js.map +1 -1
  106. package/dist/esm/EntityAddress.js +7 -0
  107. package/dist/esm/EntityAddress.js.map +1 -1
  108. package/dist/esm/EntityId.js +5 -0
  109. package/dist/esm/EntityId.js.map +1 -1
  110. package/dist/esm/EntityProxy.js +2 -2
  111. package/dist/esm/EntityProxy.js.map +1 -1
  112. package/dist/esm/HttpRunner.js +62 -39
  113. package/dist/esm/HttpRunner.js.map +1 -1
  114. package/dist/esm/MessageStorage.js +65 -17
  115. package/dist/esm/MessageStorage.js.map +1 -1
  116. package/dist/esm/Runner.js +3 -3
  117. package/dist/esm/Runner.js.map +1 -1
  118. package/dist/esm/RunnerAddress.js +7 -0
  119. package/dist/esm/RunnerAddress.js.map +1 -1
  120. package/dist/esm/RunnerHealth.js +88 -30
  121. package/dist/esm/RunnerHealth.js.map +1 -1
  122. package/dist/esm/RunnerServer.js +38 -24
  123. package/dist/esm/RunnerServer.js.map +1 -1
  124. package/dist/esm/RunnerStorage.js +90 -0
  125. package/dist/esm/RunnerStorage.js.map +1 -0
  126. package/dist/esm/Runners.js +19 -23
  127. package/dist/esm/Runners.js.map +1 -1
  128. package/dist/esm/ShardId.js +16 -6
  129. package/dist/esm/ShardId.js.map +1 -1
  130. package/dist/esm/Sharding.js +447 -323
  131. package/dist/esm/Sharding.js.map +1 -1
  132. package/dist/esm/ShardingConfig.js +10 -14
  133. package/dist/esm/ShardingConfig.js.map +1 -1
  134. package/dist/esm/Snowflake.js +1 -1
  135. package/dist/esm/SocketRunner.js +1 -1
  136. package/dist/esm/SocketRunner.js.map +1 -1
  137. package/dist/esm/SqlMessageStorage.js +22 -28
  138. package/dist/esm/SqlMessageStorage.js.map +1 -1
  139. package/dist/esm/SqlRunnerStorage.js +366 -0
  140. package/dist/esm/SqlRunnerStorage.js.map +1 -0
  141. package/dist/esm/index.js +4 -24
  142. package/dist/esm/index.js.map +1 -1
  143. package/dist/esm/internal/entityManager.js +41 -22
  144. package/dist/esm/internal/entityManager.js.map +1 -1
  145. package/package.json +20 -60
  146. package/src/ClusterError.ts +0 -24
  147. package/src/ClusterMetrics.ts +12 -16
  148. package/src/ClusterSchema.ts +17 -2
  149. package/src/ClusterWorkflowEngine.ts +48 -80
  150. package/src/Entity.ts +3 -21
  151. package/src/EntityAddress.ts +10 -0
  152. package/src/EntityId.ts +6 -0
  153. package/src/EntityProxy.ts +10 -10
  154. package/src/HttpRunner.ts +132 -67
  155. package/src/MessageStorage.ts +89 -24
  156. package/src/Runner.ts +4 -4
  157. package/src/RunnerAddress.ts +8 -0
  158. package/src/RunnerHealth.ts +119 -56
  159. package/src/RunnerServer.ts +64 -47
  160. package/src/RunnerStorage.ts +218 -0
  161. package/src/Runners.ts +32 -45
  162. package/src/ShardId.ts +14 -3
  163. package/src/Sharding.ts +561 -417
  164. package/src/ShardingConfig.ts +39 -31
  165. package/src/Snowflake.ts +1 -1
  166. package/src/SocketRunner.ts +6 -4
  167. package/src/SqlMessageStorage.ts +28 -30
  168. package/src/SqlRunnerStorage.ts +537 -0
  169. package/src/index.ts +4 -29
  170. package/src/internal/entityManager.ts +45 -29
  171. package/HttpCommon/package.json +0 -6
  172. package/HttpShardManager/package.json +0 -6
  173. package/ShardManager/package.json +0 -6
  174. package/ShardStorage/package.json +0 -6
  175. package/SocketShardManager/package.json +0 -6
  176. package/SqlShardStorage/package.json +0 -6
  177. package/SynchronizedClock/package.json +0 -6
  178. package/dist/cjs/HttpCommon.js +0 -48
  179. package/dist/cjs/HttpCommon.js.map +0 -1
  180. package/dist/cjs/HttpShardManager.js +0 -139
  181. package/dist/cjs/HttpShardManager.js.map +0 -1
  182. package/dist/cjs/ShardManager.js +0 -549
  183. package/dist/cjs/ShardManager.js.map +0 -1
  184. package/dist/cjs/ShardStorage.js +0 -151
  185. package/dist/cjs/ShardStorage.js.map +0 -1
  186. package/dist/cjs/SocketShardManager.js +0 -32
  187. package/dist/cjs/SocketShardManager.js.map +0 -1
  188. package/dist/cjs/SqlShardStorage.js +0 -253
  189. package/dist/cjs/SqlShardStorage.js.map +0 -1
  190. package/dist/cjs/SynchronizedClock.js +0 -65
  191. package/dist/cjs/SynchronizedClock.js.map +0 -1
  192. package/dist/cjs/internal/shardManager.js +0 -353
  193. package/dist/cjs/internal/shardManager.js.map +0 -1
  194. package/dist/dts/HttpCommon.d.ts +0 -25
  195. package/dist/dts/HttpCommon.d.ts.map +0 -1
  196. package/dist/dts/HttpShardManager.d.ts +0 -119
  197. package/dist/dts/HttpShardManager.d.ts.map +0 -1
  198. package/dist/dts/ShardManager.d.ts +0 -459
  199. package/dist/dts/ShardManager.d.ts.map +0 -1
  200. package/dist/dts/ShardStorage.d.ts.map +0 -1
  201. package/dist/dts/SocketShardManager.d.ts +0 -17
  202. package/dist/dts/SocketShardManager.d.ts.map +0 -1
  203. package/dist/dts/SqlShardStorage.d.ts +0 -38
  204. package/dist/dts/SqlShardStorage.d.ts.map +0 -1
  205. package/dist/dts/SynchronizedClock.d.ts +0 -19
  206. package/dist/dts/SynchronizedClock.d.ts.map +0 -1
  207. package/dist/dts/internal/shardManager.d.ts +0 -2
  208. package/dist/dts/internal/shardManager.d.ts.map +0 -1
  209. package/dist/esm/HttpCommon.js +0 -38
  210. package/dist/esm/HttpCommon.js.map +0 -1
  211. package/dist/esm/HttpShardManager.js +0 -128
  212. package/dist/esm/HttpShardManager.js.map +0 -1
  213. package/dist/esm/ShardManager.js +0 -535
  214. package/dist/esm/ShardManager.js.map +0 -1
  215. package/dist/esm/ShardStorage.js +0 -141
  216. package/dist/esm/ShardStorage.js.map +0 -1
  217. package/dist/esm/SocketShardManager.js +0 -24
  218. package/dist/esm/SocketShardManager.js.map +0 -1
  219. package/dist/esm/SqlShardStorage.js +0 -244
  220. package/dist/esm/SqlShardStorage.js.map +0 -1
  221. package/dist/esm/SynchronizedClock.js +0 -57
  222. package/dist/esm/SynchronizedClock.js.map +0 -1
  223. package/dist/esm/internal/shardManager.js +0 -342
  224. package/dist/esm/internal/shardManager.js.map +0 -1
  225. package/src/HttpCommon.ts +0 -73
  226. package/src/HttpShardManager.ts +0 -273
  227. package/src/ShardManager.ts +0 -823
  228. package/src/ShardStorage.ts +0 -297
  229. package/src/SocketShardManager.ts +0 -48
  230. package/src/SqlShardStorage.ts +0 -329
  231. package/src/SynchronizedClock.ts +0 -82
  232. package/src/internal/shardManager.ts +0 -412
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShardManager.js","names":["Rpc","RpcClient","RpcGroup","RpcServer","Arr","Clock","Config_","ConfigProvider","Context","Data","Deferred","Duration","Effect","Equal","FiberSet","identity","Iterable","Layer","Mailbox","Metric","MetricLabel","MutableHashMap","MutableHashSet","Option","PubSub","Queue","Schedule","Schema","RunnerNotRegistered","ClusterMetrics","addAllNested","decideAssignmentsForShards","State","MachineId","Runner","RunnerAddress","RunnerHealth","RpcClientProtocol","Runners","make","makeShardId","ShardId","ShardingConfig","ShardStorage","ShardManager","Tag","Config","defaults","rebalanceDebounce","seconds","rebalanceInterval","rebalanceRetryInterval","rebalanceRate","persistRetryCount","persistRetryInterval","runnerHealthCheckInterval","minutes","runnerPingTimeout","configConfig","all","duration","pipe","withDefault","withDescription","number","integer","configFromEnv","withConfigProvider","fromEnv","constantCase","layerConfig","config","succeed","layerConfigFromEnv","effect","map","env","ShardManagerClient","ShardingEventSchema","Union","TaggedStruct","address","shards","Array","Rpcs","payload","runner","success","Tuple","error","stream","Number","ShardingEvent","taggedEnum","makeClientLocal","gen","clock","groups","Set","empty","machineId","of","register","_","groupsToAdd","sync","group","has","add","n","shardsPerGroup","set","runnerAddress","unregister","void","notifyUnhealthyRunner","getAssignments","shardingEvents","fnUntraced","_address","mailbox","offer","StreamStarted","getTime","currentTimeMillis","makeClientRpc","client","spanPrefix","disableTracing","Register","version","serverVersion","orDie","Unregister","NotifyUnhealthyRunner","GetAssignments","tap","events","ShardingEvents","asMailbox","take","takeAll","unsafeOfferAll","mb","into","forkScoped","GetTime","layerClientLocal","layerClientRpc","scoped","provide","Protocol","clientProtocol","shardManagerAddress","storage","runnersApi","runnerHealthApi","shardingConfig","state","fromStorage","scope","unbounded","updateRunnerMetrics","runners","unsafeUpdate","size","allRunners","updateShardMetrics","stats","shardStats","shardCount","perRunner","assignedShards","unassignedShards","unassigned","withRetry","retry","schedule","spaced","times","ignore","persistRunners","unsafeMakeSemaphore","withPermits","suspend","saveRunners","persistAssignments","saveAssignments","assignments","isAlive","logWarning","toString","updateShardsState","isSome","value","fail","addAssignments","logInfo","pretty","current","get","filter","r","addRunner","unsafeCurrentTimeMillis","publish","RunnerRegistered","forkIn","rebalance","unassignments","shard","equals","push","none","removeRunner","length","RunnerUnregistered","rebalancing","rebalanceDeferred","rebalanceFibers","withFiberRuntime","fiber","rebalanceLoop","unsafeMake","id","await","deferred","undefined","runRebalance","intoDeferred","onExit","sleep","logDebug","changes","keys","groupAssignments","groupUnassignments","groupChanges","from","increment","rebalances","failedRunners","run","ping","timeout","catchAll","remove","awaitEmpty","failedUnassignments","matchEffect","onFailure","onSuccess","ShardsUnassigned","forEach","some","ShardsAssigned","wereFailures","discard","zipRight","withSpan","captureStackTrace","checkRunnerHealth","concurrency","addFinalizer","catchAllCause","cause","andThen","forever","queue","subscribe","isNone","isRegistered","onConnection","layer","layerServerHandlers","toLayer","shardManager","takeBetween","MAX_SAFE_INTEGER","flatMap","offerAll","layerServer"],"sources":["../../src/ShardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,141 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Arr from "effect/Array";
5
- import * as Context from "effect/Context";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import * as MutableHashMap from "effect/MutableHashMap";
9
- import * as Option from "effect/Option";
10
- import { Runner } from "./Runner.js";
11
- import { RunnerAddress } from "./RunnerAddress.js";
12
- import { ShardId } from "./ShardId.js";
13
- /**
14
- * Represents a generic interface to the persistent storage required by the
15
- * cluster.
16
- *
17
- * @since 1.0.0
18
- * @category models
19
- */
20
- export class ShardStorage extends /*#__PURE__*/Context.Tag("@effect/cluster/ShardStorage")() {}
21
- /**
22
- * @since 1.0.0
23
- * @category layers
24
- */
25
- export const makeEncoded = encoded => ShardStorage.of({
26
- getAssignments: Effect.map(encoded.getAssignments, assignments => {
27
- const arr = Arr.empty();
28
- for (const [shardId, runnerAddress] of assignments) {
29
- arr.push([ShardId.fromString(shardId), runnerAddress === null ? Option.none() : Option.some(decodeRunnerAddress(runnerAddress))]);
30
- }
31
- return arr;
32
- }),
33
- saveAssignments: assignments => {
34
- const arr = Arr.empty();
35
- for (const [shardId, runnerAddress] of assignments) {
36
- arr.push([shardId.toString(), Option.isNone(runnerAddress) ? null : encodeRunnerAddress(runnerAddress.value)]);
37
- }
38
- return encoded.saveAssignments(arr);
39
- },
40
- getRunners: Effect.gen(function* () {
41
- const runners = yield* encoded.getRunners;
42
- const results = [];
43
- for (let i = 0; i < runners.length; i++) {
44
- const [address, runner] = runners[i];
45
- try {
46
- results.push([decodeRunnerAddress(address), Runner.decodeSync(runner)]);
47
- } catch {
48
- //
49
- }
50
- }
51
- return results;
52
- }),
53
- saveRunners: runners => Effect.suspend(() => encoded.saveRunners(Array.from(runners, ([address, runner]) => [encodeRunnerAddress(address), Runner.encodeSync(runner)]))),
54
- acquire: (address, shardIds) => {
55
- const arr = Array.from(shardIds, id => id.toString());
56
- return encoded.acquire(encodeRunnerAddress(address), arr).pipe(Effect.map(shards => shards.map(ShardId.fromString)));
57
- },
58
- refresh: (address, shardIds) => {
59
- const arr = Array.from(shardIds, id => id.toString());
60
- return encoded.refresh(encodeRunnerAddress(address), arr).pipe(Effect.map(shards => shards.map(ShardId.fromString)));
61
- },
62
- release(address, shardId) {
63
- return encoded.release(encodeRunnerAddress(address), shardId.toString());
64
- },
65
- releaseAll(address) {
66
- return encoded.releaseAll(encodeRunnerAddress(address));
67
- }
68
- });
69
- /**
70
- * @since 1.0.0
71
- * @category layers
72
- */
73
- export const layerNoop = /*#__PURE__*/Layer.sync(ShardStorage, () => {
74
- let acquired = [];
75
- return ShardStorage.of({
76
- getAssignments: Effect.sync(() => []),
77
- saveAssignments: () => Effect.void,
78
- getRunners: Effect.sync(() => []),
79
- saveRunners: () => Effect.void,
80
- acquire: (_address, shards) => {
81
- acquired = Array.from(shards);
82
- return Effect.succeed(Array.from(shards));
83
- },
84
- refresh: () => Effect.sync(() => acquired),
85
- release: () => Effect.void,
86
- releaseAll: () => Effect.void
87
- });
88
- });
89
- /**
90
- * @since 1.0.0
91
- * @category constructors
92
- */
93
- export const makeMemory = /*#__PURE__*/Effect.gen(function* () {
94
- const assignments = MutableHashMap.empty();
95
- const runners = MutableHashMap.empty();
96
- function saveAssignments(value) {
97
- return Effect.sync(() => {
98
- for (const [shardId, runnerAddress] of value) {
99
- MutableHashMap.set(assignments, shardId, runnerAddress);
100
- }
101
- });
102
- }
103
- function saveRunners(value) {
104
- return Effect.sync(() => {
105
- for (const [address, runner] of value) {
106
- MutableHashMap.set(runners, address, runner);
107
- }
108
- });
109
- }
110
- let acquired = [];
111
- return ShardStorage.of({
112
- getAssignments: Effect.sync(() => Array.from(assignments)),
113
- saveAssignments,
114
- getRunners: Effect.sync(() => Array.from(runners)),
115
- saveRunners,
116
- acquire: (_address, shardIds) => {
117
- acquired = Array.from(shardIds);
118
- return Effect.succeed(Array.from(shardIds));
119
- },
120
- refresh: () => Effect.sync(() => acquired),
121
- release: () => Effect.void,
122
- releaseAll: () => Effect.void
123
- });
124
- });
125
- /**
126
- * @since 1.0.0
127
- * @category layers
128
- */
129
- export const layerMemory = /*#__PURE__*/Layer.effect(ShardStorage, makeMemory);
130
- // -------------------------------------------------------------------------------------
131
- // internal
132
- // -------------------------------------------------------------------------------------
133
- const encodeRunnerAddress = runnerAddress => `${runnerAddress.host}:${runnerAddress.port}`;
134
- const decodeRunnerAddress = runnerAddress => {
135
- const [host, port] = runnerAddress.split(":");
136
- return new RunnerAddress({
137
- host,
138
- port: Number(port)
139
- });
140
- };
141
- //# sourceMappingURL=ShardStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ShardStorage.js","names":["Arr","Context","Effect","Layer","MutableHashMap","Option","Runner","RunnerAddress","ShardId","ShardStorage","Tag","makeEncoded","encoded","of","getAssignments","map","assignments","arr","empty","shardId","runnerAddress","push","fromString","none","some","decodeRunnerAddress","saveAssignments","toString","isNone","encodeRunnerAddress","value","getRunners","gen","runners","results","i","length","address","runner","decodeSync","saveRunners","suspend","Array","from","encodeSync","acquire","shardIds","id","pipe","shards","refresh","release","releaseAll","layerNoop","sync","acquired","void","_address","succeed","makeMemory","set","layerMemory","effect","host","port","split","Number"],"sources":["../../src/ShardStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,24 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import { SocketServer } from "@effect/platform/SocketServer";
5
- import * as RpcServer from "@effect/rpc/RpcServer";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import * as MessageStorage from "./MessageStorage.js";
9
- import * as Runners from "./Runners.js";
10
- import * as ShardManager from "./ShardManager.js";
11
- const withLogAddress = layer => Layer.effectDiscard(Effect.gen(function* () {
12
- const server = yield* SocketServer;
13
- const address = server.address._tag === "UnixAddress" ? server.address.path : `${server.address.hostname}:${server.address.port}`;
14
- yield* Effect.annotateLogs(Effect.logInfo(`Listening on: ${address}`), {
15
- package: "@effect/cluster",
16
- service: "ShardManager"
17
- });
18
- })).pipe(Layer.provideMerge(layer));
19
- /**
20
- * @since 1.0.0
21
- * @category Layers
22
- */
23
- export const layer = /*#__PURE__*/ShardManager.layerServer.pipe(withLogAddress, /*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(RpcServer.layerProtocolSocketServer)), /*#__PURE__*/Layer.provideMerge(ShardManager.layer), /*#__PURE__*/Layer.provide(Runners.layerRpc), /*#__PURE__*/Layer.provide(MessageStorage.layerNoop));
24
- //# sourceMappingURL=SocketShardManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SocketShardManager.js","names":["SocketServer","RpcServer","Effect","Layer","MessageStorage","Runners","ShardManager","withLogAddress","layer","effectDiscard","gen","server","address","_tag","path","hostname","port","annotateLogs","logInfo","package","service","pipe","provideMerge","layerServer","provide","fresh","layerProtocolSocketServer","layerRpc","layerNoop"],"sources":["../../src/SocketShardManager.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,SAASA,YAAY,QAAQ,+BAA+B;AAE5D,OAAO,KAAKC,SAAS,MAAM,uBAAuB;AAClD,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,cAAc,MAAM,qBAAqB;AAErD,OAAO,KAAKC,OAAO,MAAM,cAAc;AAEvC,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAGjD,MAAMC,cAAc,GAAaC,KAA2B,IAC1DL,KAAK,CAACM,aAAa,CAACP,MAAM,CAACQ,GAAG,CAAC,aAAS;EACtC,MAAMC,MAAM,GAAG,OAAOX,YAAY;EAClC,MAAMY,OAAO,GAAGD,MAAM,CAACC,OAAO,CAACC,IAAI,KAAK,aAAa,GACjDF,MAAM,CAACC,OAAO,CAACE,IAAI,GACnB,GAAGH,MAAM,CAACC,OAAO,CAACG,QAAQ,IAAIJ,MAAM,CAACC,OAAO,CAACI,IAAI,EAAE;EACvD,OAAOd,MAAM,CAACe,YAAY,CAACf,MAAM,CAACgB,OAAO,CAAC,iBAAiBN,OAAO,EAAE,CAAC,EAAE;IACrEO,OAAO,EAAE,iBAAiB;IAC1BC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC,CAAC,CAACC,IAAI,CAAClB,KAAK,CAACmB,YAAY,CAACd,KAAK,CAAC,CAAC;AAErC;;;;AAIA,OAAO,MAAMA,KAAK,gBAUdF,YAAY,CAACiB,WAAW,CAACF,IAAI,CAC/Bd,cAAc,eACdJ,KAAK,CAACqB,OAAO,cAACrB,KAAK,CAACsB,KAAK,CAACxB,SAAS,CAACyB,yBAAyB,CAAC,CAAC,eAC/DvB,KAAK,CAACmB,YAAY,CAAChB,YAAY,CAACE,KAAK,CAAC,eACtCL,KAAK,CAACqB,OAAO,CAACnB,OAAO,CAACsB,QAAQ,CAAC,eAC/BxB,KAAK,CAACqB,OAAO,CAACpB,cAAc,CAACwB,SAAS,CAAC,CACxC","ignoreList":[]}
@@ -1,244 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as SqlClient from "@effect/sql/SqlClient";
5
- import * as Arr from "effect/Array";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import { PersistenceError } from "./ClusterError.js";
9
- import * as ShardStorage from "./ShardStorage.js";
10
- const withTracerDisabled = /*#__PURE__*/Effect.withTracerEnabled(false);
11
- /**
12
- * @since 1.0.0
13
- * @category Constructors
14
- */
15
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
16
- const sql = (yield* SqlClient.SqlClient).withoutTransforms();
17
- const prefix = options?.prefix ?? "cluster";
18
- const table = name => `${prefix}_${name}`;
19
- const runnersTable = table("runners");
20
- const runnersTableSql = sql(runnersTable);
21
- yield* sql.onDialectOrElse({
22
- mssql: () => sql`
23
- IF OBJECT_ID(N'${runnersTableSql}', N'U') IS NULL
24
- CREATE TABLE ${runnersTableSql} (
25
- address VARCHAR(255) PRIMARY KEY,
26
- runner TEXT NOT NULL
27
- )
28
- `,
29
- mysql: () => sql`
30
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
31
- address VARCHAR(255) PRIMARY KEY,
32
- runner TEXT NOT NULL
33
- )
34
- `,
35
- pg: () => sql`
36
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
37
- address VARCHAR(255) PRIMARY KEY,
38
- runner TEXT NOT NULL
39
- )
40
- `,
41
- orElse: () =>
42
- // sqlite
43
- sql`
44
- CREATE TABLE IF NOT EXISTS ${runnersTableSql} (
45
- address TEXT PRIMARY KEY,
46
- runner TEXT NOT NULL
47
- )
48
- `
49
- });
50
- const shardsTable = table("shards");
51
- const shardsTableSql = sql(shardsTable);
52
- yield* sql.onDialectOrElse({
53
- mssql: () => sql`
54
- IF OBJECT_ID(N'${shardsTableSql}', N'U') IS NULL
55
- CREATE TABLE ${shardsTableSql} (
56
- shard_id VARCHAR(50) PRIMARY KEY,
57
- address VARCHAR(255)
58
- )
59
- `,
60
- mysql: () => sql`
61
- CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
62
- shard_id VARCHAR(50) PRIMARY KEY,
63
- address VARCHAR(255)
64
- )
65
- `,
66
- pg: () => sql`
67
- CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
68
- shard_id VARCHAR(50) PRIMARY KEY,
69
- address VARCHAR(255)
70
- )
71
- `,
72
- orElse: () =>
73
- // sqlite
74
- sql`
75
- CREATE TABLE IF NOT EXISTS ${shardsTableSql} (
76
- shard_id TEXT PRIMARY KEY,
77
- address TEXT
78
- )
79
- `
80
- });
81
- const locksTable = table("locks");
82
- const locksTableSql = sql(locksTable);
83
- yield* sql.onDialectOrElse({
84
- mssql: () => sql`
85
- IF OBJECT_ID(N'${locksTableSql}', N'U') IS NULL
86
- CREATE TABLE ${locksTableSql} (
87
- shard_id VARCHAR(50) PRIMARY KEY,
88
- address VARCHAR(255) NOT NULL,
89
- acquired_at DATETIME NOT NULL
90
- )
91
- `,
92
- mysql: () => sql`
93
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
94
- shard_id VARCHAR(50) PRIMARY KEY,
95
- address VARCHAR(255) NOT NULL,
96
- acquired_at DATETIME NOT NULL
97
- )
98
- `,
99
- pg: () => sql`
100
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
101
- shard_id VARCHAR(50) PRIMARY KEY,
102
- address VARCHAR(255) NOT NULL,
103
- acquired_at TIMESTAMP NOT NULL
104
- )
105
- `,
106
- orElse: () =>
107
- // sqlite
108
- sql`
109
- CREATE TABLE IF NOT EXISTS ${locksTableSql} (
110
- shard_id TEXT PRIMARY KEY,
111
- address TEXT NOT NULL,
112
- acquired_at DATETIME NOT NULL
113
- )
114
- `
115
- });
116
- const sqlNowString = sql.onDialectOrElse({
117
- pg: () => "NOW()",
118
- mysql: () => "NOW()",
119
- mssql: () => "GETDATE()",
120
- orElse: () => "CURRENT_TIMESTAMP"
121
- });
122
- const sqlNow = sql.literal(sqlNowString);
123
- const lockExpiresAt = sql.onDialectOrElse({
124
- pg: () => sql`${sqlNow} - INTERVAL '5 seconds'`,
125
- mysql: () => sql`DATE_SUB(${sqlNow}, INTERVAL 5 SECOND)`,
126
- mssql: () => sql`DATEADD(SECOND, -5, ${sqlNow})`,
127
- orElse: () => sql`datetime(${sqlNow}, '-5 seconds')`
128
- });
129
- const acquireLock = sql.onDialectOrElse({
130
- pg: () => (address, values) => sql`
131
- INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
132
- ON CONFLICT (shard_id) DO UPDATE
133
- SET address = ${address}, acquired_at = ${sqlNow}
134
- WHERE ${locksTableSql}.address = ${address}
135
- OR ${locksTableSql}.acquired_at < ${lockExpiresAt}
136
- `,
137
- mysql: () => (_address, values) => sql`
138
- INSERT INTO ${locksTableSql} (shard_id, address, acquired_at) VALUES ${sql.csv(values)}
139
- ON DUPLICATE KEY UPDATE
140
- address = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(address), address),
141
- acquired_at = IF(address = VALUES(address) OR acquired_at < ${lockExpiresAt}, VALUES(acquired_at), acquired_at)
142
- `.unprepared,
143
- mssql: () => (_address, values) => sql`
144
- MERGE ${locksTableSql} WITH (HOLDLOCK) AS target
145
- USING (SELECT * FROM (VALUES ${sql.csv(values)})) AS source (shard_id, address, acquired_at)
146
- ON target.shard_id = source.shard_id
147
- WHEN MATCHED AND (target.address = source.address OR DATEDIFF(SECOND, target.acquired_at, ${sqlNow}) > 5) THEN
148
- UPDATE SET address = source.address, acquired_at = source.acquired_at
149
- WHEN NOT MATCHED THEN
150
- INSERT (shard_id, address, acquired_at)
151
- VALUES (source.shard_id, source.address, source.acquired_at);
152
- `,
153
- orElse: () => (address, values) =>
154
- // sqlite
155
- sql`
156
- WITH source(shard_id, address, acquired_at) AS (VALUES ${sql.csv(values)})
157
- INSERT INTO ${locksTableSql} (shard_id, address, acquired_at)
158
- SELECT source.shard_id, source.address, source.acquired_at
159
- FROM source
160
- WHERE NOT EXISTS (
161
- SELECT 1 FROM ${locksTableSql}
162
- WHERE shard_id = source.shard_id
163
- AND address != ${address}
164
- AND (strftime('%s', ${sqlNow}) - strftime('%s', acquired_at)) <= 5
165
- )
166
- ON CONFLICT(shard_id) DO UPDATE
167
- SET address = ${address}, acquired_at = ${sqlNow}
168
- `
169
- });
170
- const wrapString = sql.onDialectOrElse({
171
- mssql: () => s => `N'${s}'`,
172
- orElse: () => s => `'${s}'`
173
- });
174
- const wrapStringArr = arr => sql.literal(arr.map(wrapString).join(", "));
175
- const refreshShards = sql.onDialectOrElse({
176
- mysql: () => (address, shardIds) => {
177
- const shardIdsStr = wrapStringArr(shardIds);
178
- return sql`
179
- UPDATE ${locksTableSql}
180
- SET acquired_at = ${sqlNow}
181
- WHERE address = ${address} AND shard_id IN (${shardIdsStr});
182
- SELECT shard_id FROM ${locksTableSql} WHERE address = ${address} AND shard_id IN (${shardIdsStr})
183
- `.unprepared.pipe(Effect.map(rows => rows[1].map(row => [row.shard_id])));
184
- },
185
- mssql: () => (address, shardIds) => sql`
186
- UPDATE ${locksTableSql}
187
- SET acquired_at = ${sqlNow}
188
- OUTPUT inserted.shard_id
189
- WHERE address = ${address} AND shard_id IN (${wrapStringArr(shardIds)})
190
- `.values,
191
- orElse: () => (address, shardIds) => sql`
192
- UPDATE ${locksTableSql}
193
- SET acquired_at = ${sqlNow}
194
- WHERE address = ${address} AND shard_id IN (${wrapStringArr(shardIds)})
195
- RETURNING shard_id
196
- `.values
197
- });
198
- return ShardStorage.makeEncoded({
199
- getAssignments: sql`SELECT shard_id, address FROM ${shardsTableSql} ORDER BY shard_id`.values.pipe(PersistenceError.refail, withTracerDisabled),
200
- saveAssignments: assignments => {
201
- const remove = sql`DELETE FROM ${shardsTableSql}`;
202
- if (assignments.length === 0) {
203
- return PersistenceError.refail(remove);
204
- }
205
- const values = assignments.map(([shardId, address]) => sql`(${shardId}, ${address})`);
206
- return remove.pipe(Effect.andThen(sql`INSERT INTO ${shardsTableSql} (shard_id, address) VALUES ${sql.csv(values)}`.unprepared), sql.withTransaction, PersistenceError.refail, withTracerDisabled);
207
- },
208
- getRunners: sql`SELECT address, runner FROM ${runnersTableSql}`.values.pipe(PersistenceError.refail, Effect.map(Arr.map(([address, runner]) => [String(address), String(runner)])), withTracerDisabled),
209
- saveRunners: runners => {
210
- const remove = sql`DELETE FROM ${runnersTableSql}`;
211
- if (runners.length === 0) {
212
- return PersistenceError.refail(remove);
213
- }
214
- const values = runners.map(([address, runner]) => sql`(${address}, ${runner})`);
215
- const insert = sql`INSERT INTO ${runnersTableSql} (address, runner) VALUES ${sql.csv(values)}`.unprepared;
216
- return remove.pipe(Effect.andThen(insert), sql.withTransaction, PersistenceError.refail, withTracerDisabled);
217
- },
218
- acquire: Effect.fnUntraced(function* (address, shardIds) {
219
- if (shardIds.length > 0) {
220
- const values = shardIds.map(shardId => sql`(${shardId}, ${address}, ${sqlNow})`);
221
- yield* acquireLock(address, values);
222
- }
223
- const currentLocks = yield* sql`
224
- SELECT shard_id FROM ${sql(locksTable)}
225
- WHERE address = ${address} AND acquired_at >= ${lockExpiresAt}
226
- `.values;
227
- return currentLocks.map(row => row[0]);
228
- }, sql.withTransaction, PersistenceError.refail, withTracerDisabled),
229
- refresh: (address, shardIds) => shardIds.length === 0 ? Effect.succeed([]) : refreshShards(address, shardIds).pipe(Effect.map(rows => rows.map(row => row[0])), PersistenceError.refail, withTracerDisabled),
230
- release: (address, shardId) => sql`DELETE FROM ${locksTableSql} WHERE address = ${address} AND shard_id = ${shardId}`.pipe(PersistenceError.refail, withTracerDisabled),
231
- releaseAll: address => sql`DELETE FROM ${locksTableSql} WHERE address = ${address}`.pipe(PersistenceError.refail, withTracerDisabled)
232
- });
233
- }, withTracerDisabled);
234
- /**
235
- * @since 1.0.0
236
- * @category Layers
237
- */
238
- export const layer = /*#__PURE__*/Layer.effect(ShardStorage.ShardStorage, /*#__PURE__*/make());
239
- /**
240
- * @since 1.0.0
241
- * @category Layers
242
- */
243
- export const layerWith = options => Layer.scoped(ShardStorage.ShardStorage, make(options));
244
- //# sourceMappingURL=SqlShardStorage.js.map
@@ -1 +0,0 @@
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","wrapString","s","wrapStringArr","arr","map","join","refreshShards","shardIds","shardIdsStr","pipe","rows","row","shard_id","makeEncoded","getAssignments","refail","saveAssignments","assignments","remove","length","shardId","andThen","withTransaction","getRunners","runner","String","saveRunners","runners","insert","acquire","currentLocks","refresh","succeed","release","releaseAll","layer","effect","layerWith","scoped"],"sources":["../../src/SqlShardStorage.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,57 +0,0 @@
1
- /**
2
- * @since 1.0.0
3
- */
4
- import * as Clock from "effect/Clock";
5
- import * as Duration from "effect/Duration";
6
- import * as Effect from "effect/Effect";
7
- import * as Layer from "effect/Layer";
8
- import * as Schedule from "effect/Schedule";
9
- import { ShardManagerClient } from "./ShardManager.js";
10
- /**
11
- * @since 1.0.0
12
- * @category Constructors
13
- */
14
- export const make = /*#__PURE__*/Effect.fnUntraced(function* (getRemoteTime) {
15
- const clock = yield* Effect.clock;
16
- let driftMillis = 0;
17
- let driftNanos = BigInt(0);
18
- yield* getRemoteTime.pipe(Effect.timed, Effect.map(([duration, shardManagerTime]) => {
19
- const halfTrip = Duration.unsafeDivide(duration, 2);
20
- shardManagerTime = shardManagerTime + Duration.toMillis(halfTrip) + 1;
21
- const selfTime = clock.unsafeCurrentTimeMillis();
22
- return shardManagerTime - selfTime;
23
- }), Effect.replicateEffect(5), Effect.flatMap(drifts => {
24
- drifts.sort();
25
- const drift = (driftMillis + drifts[2]) / 2;
26
- driftMillis = Math.round(drift);
27
- driftNanos = BigInt(Math.round(drift * 1_000_000));
28
- return Effect.logDebug("Current drift", driftMillis);
29
- }), Effect.andThen(Effect.sleep(Duration.minutes(5))), Effect.forever, Effect.sandbox, Effect.retry(Schedule.spaced(Duration.minutes(1))), Effect.annotateLogs({
30
- package: "@effect/cluster",
31
- service: "SynchronizedClock"
32
- }), Effect.forkScoped);
33
- function unsafeCurrentTimeMillis() {
34
- return clock.unsafeCurrentTimeMillis() + driftMillis;
35
- }
36
- function unsafeCurrentTimeNanos() {
37
- return clock.unsafeCurrentTimeNanos() + driftNanos;
38
- }
39
- return Clock.Clock.of({
40
- [Clock.ClockTypeId]: Clock.ClockTypeId,
41
- sleep: clock.sleep,
42
- unsafeCurrentTimeMillis,
43
- unsafeCurrentTimeNanos,
44
- currentTimeMillis: Effect.sync(unsafeCurrentTimeMillis),
45
- currentTimeNanos: Effect.sync(unsafeCurrentTimeNanos)
46
- });
47
- });
48
- /**
49
- * @since 1.0.0
50
- * @category Layers
51
- */
52
- export const layer = /*#__PURE__*/Layer.unwrapScoped(/*#__PURE__*/Effect.gen(function* () {
53
- const shardManager = yield* ShardManagerClient;
54
- const clock = yield* make(shardManager.getTime);
55
- return Layer.setClock(clock);
56
- }));
57
- //# sourceMappingURL=SynchronizedClock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SynchronizedClock.js","names":["Clock","Duration","Effect","Layer","Schedule","ShardManagerClient","make","fnUntraced","getRemoteTime","clock","driftMillis","driftNanos","BigInt","pipe","timed","map","duration","shardManagerTime","halfTrip","unsafeDivide","toMillis","selfTime","unsafeCurrentTimeMillis","replicateEffect","flatMap","drifts","sort","drift","Math","round","logDebug","andThen","sleep","minutes","forever","sandbox","retry","spaced","annotateLogs","package","service","forkScoped","unsafeCurrentTimeNanos","of","ClockTypeId","currentTimeMillis","sync","currentTimeNanos","layer","unwrapScoped","gen","shardManager","getTime","setClock"],"sources":["../../src/SynchronizedClock.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}