@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 +1 @@
1
- {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Deferred","Effect","Equal","Exit","Fiber","FiberHandle","FiberMap","FiberRef","_Function","HashMap","Iterable","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","Predicate","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterError","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runners","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_ShardManager","_ShardStorage","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runners","Runners","shardManager","ShardManagerClient","snowflakeGen","Generator","shardingScope","scope","isShutdown","storage","storageEnabled","noop","shardStorage","ShardStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","ShardId","disableValidation","isEntityOnLocalShards","shardId","selfAddress","addFinalizerExit","ignore","releaseAll","releasingShards","unsafeOpen","await","unsafeClose","remove","add","unacquiredShards","size","forkIn","syncSingletons","releaseShards","acquired","acquire","resetShards","length","storageReadLatch","open","sleep","pipe","catchAllCause","cause","logWarning","forever","annotateLogs","package","module","fiber","runner","interruptible","suspend","refresh","flatMap","some","_","symbol","andThen","void","retry","times","schedule","spaced","logError","clearSelfShards","fixed","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","clear","singletons","singletonFibers","withSingletonLock","registerSingleton","fnUntraced","name","run","options","shardGroup","SingletonAddress","EntityId","map","dieMessage","context","wrappedRun","locally","currentLogAnnotations","never","scoped","provide","orDie","publish","SingletonRegistered","logDebug","running","unsafeHas","shouldBeRunning","internalInterruptors","fiberId","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","storageAlreadyProcessed","_message","sentRequestIds","Set","sentRequestIdSets","addFinalizer","message","envelope","requestId","entityType","isProcessingFor","excludeReplies","take","messages","unprocessedMessages","currentSentRequestIds","send","index","_tag","respond","ReplyWithContext","fromDefect","unsafeNext","defect","EntityNotManagedByRunner","isProcessing","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOption","isNone","isInterrupted","saveReply","squash","resumeEntityFromStorage","whileLoop","while","step","body","oldest","unsafeHead","delete","ensuring","repeat","entityMessagePollInterval","delay","lastReceivedMessage","resumeEntityFromStorageImpl","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","fail","EntityNotAssignedToRunner","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","sync","effect","entity","sendLocal","simulateRemoteSerialization","notifyLocal","isLocal","notify","envelopeId","storageOnly","isTransientError","or","RunnerUnavailable","is","sendOutgoing","retries","catchIf","maybeRunner","isPersisted","rpc","annotations","Persisted","runnerIsLocal","die","reset","clearReplies","matchCause","onSuccess","onFailure","shardManagerTimeoutFiber","extend","startShardManagerTimeout","shardManagerUnavailableTimeout","onlyIfMissing","stopShardManagerTimeout","current","machineId","register","shardGroups","setMachineId","mailbox","shardingEvents","startedLatch","eventsFiber","takeAll","event","shard","shards","RunnerNotRegistered","intoDeferred","zipRight","forkScoped","syncFiber","syncAssignments","refreshAssignmentsInterval","joinAll","exponential","union","assignments","getAssignments","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","entry","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","none","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","isTransientInterrupt","interruptors","Interrupt","withFiberRuntime","EntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","undefined","makeClient","_reply","reply","clientId","exit","reaper","EntityReaper","registerEntity","build","sharding","EntityRegistered","close","unregister","activeEntityCount","count","of","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Sharding.js","names":["RpcClient","_interopRequireWildcard","require","_RpcMessage","Arr","Cause","Context","Effect","Either","Equal","Fiber","FiberMap","FiberRef","FiberSet","_Function","HashMap","HashRing","Layer","MutableHashMap","MutableHashSet","MutableRef","Option","PubSub","Schedule","Scope","Stream","_ClusterError","ClusterMetrics","_ClusterSchema","ClusterSchema","_EntityAddress","_EntityId","Envelope","EntityManager","_entityReaper","_hash","_interruptors","_resourceMap","Message","MessageStorage","Reply","_Runner","RunnerHealth","_Runners","_RunnerStorage","_ShardId","_ShardingConfig","_ShardingRegistrationEvent","_SingletonAddress","Snowflake","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Sharding","Tag","exports","make","gen","config","ShardingConfig","runnersService","Runners","runnerHealth","snowflakeGen","Generator","shardingScope","scope","isShutdown","fiberSet","runFork","runtime","pipe","mapInputContext","context","omit","storage","storageEnabled","noop","runnerStorage","RunnerStorage","entityManagers","Map","shardAssignments","empty","selfShards","acquiredShards","activeShardsLatch","makeLatch","events","unbounded","getRegistrationEvents","fromPubSub","isLocalRunner","address","isSome","runnerAddress","equals","value","getShardId","entityId","group","id","Math","abs","hashString","shardsPerGroup","makeShardId","isEntityOnLocalShards","shardId","releasingShards","selfAddress","addFinalizerExit","ignore","releaseAll","unsafeOpen","await","unsafeClose","remove","add","size","forkIn","syncSingletons","releaseShards","unacquiredShards","acquired","acquire","resetShards","length","storageReadLatch","open","shards","unsafeUpdate","BigInt","sleep","catchAllCause","cause","logWarning","repeat","spaced","entityMessagePollInterval","annotateLogs","package","module","fiber","runner","suspend","refresh","flatMap","includes","void","retry","times","schedule","logError","andThen","clearSelfShards","fixed","shardLockRefreshInterval","forever","releaseShardsLock","unsafeMakeSemaphore","withPermits","forEach","values","state","manager","interruptShard","concurrency","discard","release","unregisterShardReplyHandlers","delay","sync","clear","openStorageReadLatch","constant","storageReadLock","withStorageReadLock","logDebug","addFinalizer","index","messages","removableNotifications","Set","resetAddresses","processMessages","whileLoop","while","step","body","send","message","_tag","current","envelope","entityType","closed","isProcessing","isProcessingFor","pendingNotifications","requestId","entry","delete","resume","resumptionState","entityResumptionState","unprocessed","interrupts","error","failureOrCause","isRight","isInterrupted","saveReply","ReplyWithContext","fromDefect","unsafeNext","defect","squash","left","resumeEntityFromStorage","take","clearProcessed","unprocessedMessages","fail","EntityNotAssignedToRunner","resetAddress","scoped","ensuring","withUnhandledErrorLogLevel","none","lastReceivedMessage","resumeEntityFromStorageImpl","fnUntraced","getOrThrow","done","messageIds","push","unprocessedMessagesById","sendWithRetry","catchTags","interrupt","MailboxFull","sendRetryInterval","AlreadyProcessingMessage","effect","entity","sendLocal","loop","waitForEntityManager","simulateRemoteSerialization","notifyLocal","options","isLocal","notify","die","excludeReplies","envelopeId","waitUntilRead","async","prevResume","storageOnly","sendOutgoing","retries","catchIf","isPersisted","rpc","annotations","Persisted","maybeRunner","runnerIsLocal","isNone","reset","matchCause","clearReplies","onSuccess","onFailure","selfRunner","Runner","groups","shardGroups","weight","runnerShardWeight","undefined","allRunners","healthyRunnerCount","runners","runnersHealthy","hashRings","nextRunners","healthyRunners","machineId","register","setMachineId","getRunners","changed","healthy","wasHealthy","j","ring","_","onRunnerUnavailable","prevRunners","newAssignments","getShards","shard","setRunnerHealth","refreshAssignmentsInterval","clientRequests","clients","ResourceMap","client","makeNoSerialization","protocol","spanPrefix","type","disableTracing","ClientTracingEnabled","supportsAck","generateRequestId","RequestId","flatten","onFromClient","unsafeGet","ClientAddressTag","getCurrentFiber","requests","tag","respond","services","currentContext","makeClientRespond","write","clientRespondDiscard","OutgoingRequest","makeRequest","payload","headers","traceId","spanId","sampled","lastReceivedReply","OutgoingEnvelope","AckChunk","replyId","lastChunkId","Uninterruptible","forClient","isTransientInterrupt","interruptors","some","internalInterruptors","Interrupt","withFiberRuntime","makeEntityId","makeEntityAddress","getShardGroup","clientFn","merge","proxyClient","Proxy","p","target","makeClient","_reply","reply","clientId","exit","singletons","singletonFibers","withSingletonLock","registerSingleton","name","run","shardGroup","SingletonAddress","map","wrappedRun","locally","currentLogAnnotations","never","provide","orDie","interruptible","publish","SingletonRegistered","running","unsafeHas","shouldBeRunning","reaper","EntityReaper","entityManagerLatches","registerEntity","build","sharding","EntityRegistered","close","latch","unsafeMakeLatch","checkRunner","isAlive","runnerHealthCheckInterval","fiberId","unregister","activeEntityCount","count","of","hasShardId","getSnowflake","pollStorage","layer","layerGenerator","Default","GenericTag"],"sources":["../../src/Sharding.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -36,21 +36,19 @@ const defaultRunnerAddress = /*#__PURE__*/_RunnerAddress.RunnerAddress.make({
36
36
  const defaults = exports.defaults = {
37
37
  runnerAddress: /*#__PURE__*/Option.some(defaultRunnerAddress),
38
38
  runnerListenAddress: /*#__PURE__*/Option.none(),
39
- serverVersion: 1,
39
+ runnerShardWeight: 1,
40
40
  shardsPerGroup: 300,
41
- shardManagerAddress: /*#__PURE__*/_RunnerAddress.RunnerAddress.make({
42
- host: "localhost",
43
- port: 8080
44
- }),
45
- shardManagerUnavailableTimeout: /*#__PURE__*/Duration.minutes(10),
46
41
  shardGroups: ["default"],
42
+ shardLockRefreshInterval: /*#__PURE__*/Duration.seconds(10),
43
+ shardLockExpiration: /*#__PURE__*/Duration.seconds(35),
47
44
  entityMailboxCapacity: 4096,
48
45
  entityMaxIdleTime: /*#__PURE__*/Duration.minutes(1),
49
46
  entityTerminationTimeout: /*#__PURE__*/Duration.seconds(15),
50
47
  entityMessagePollInterval: /*#__PURE__*/Duration.seconds(10),
51
48
  entityReplyPollInterval: /*#__PURE__*/Duration.millis(200),
52
49
  sendRetryInterval: /*#__PURE__*/Duration.millis(100),
53
- refreshAssignmentsInterval: /*#__PURE__*/Duration.minutes(5),
50
+ refreshAssignmentsInterval: /*#__PURE__*/Duration.seconds(3),
51
+ runnerHealthCheckInterval: /*#__PURE__*/Duration.minutes(1),
54
52
  simulateRemoteSerialization: true
55
53
  };
56
54
  /**
@@ -80,21 +78,19 @@ const config = exports.config = /*#__PURE__*/Config.all({
80
78
  host: Config.string("listenHost").pipe(Config.withDescription("The host to listen on.")),
81
79
  port: Config.integer("listenPort").pipe(Config.withDefault(defaultRunnerAddress.port), Config.withDescription("The port to listen on."))
82
80
  }).pipe(/*#__PURE__*/Config.map(options => _RunnerAddress.RunnerAddress.make(options)), Config.option),
83
- serverVersion: /*#__PURE__*/Config.integer("serverVersion").pipe(/*#__PURE__*/Config.withDefault(defaults.serverVersion), /*#__PURE__*/Config.withDescription("The version of the current runner.")),
81
+ runnerShardWeight: /*#__PURE__*/Config.integer("runnerShardWeight").pipe(/*#__PURE__*/Config.withDefault(defaults.runnerShardWeight)),
84
82
  shardGroups: /*#__PURE__*/Config.array(Config.string("shardGroups")).pipe(/*#__PURE__*/Config.withDefault(["default"]), /*#__PURE__*/Config.withDescription("The shard groups that are assigned to this runner.")),
85
83
  shardsPerGroup: /*#__PURE__*/Config.integer("shardsPerGroup").pipe(/*#__PURE__*/Config.withDefault(defaults.shardsPerGroup), /*#__PURE__*/Config.withDescription("The number of shards to allocate per shard group.")),
86
- shardManagerAddress: /*#__PURE__*/Config.all({
87
- host: Config.string("shardManagerHost").pipe(Config.withDefault(defaults.shardManagerAddress.host), Config.withDescription("The host of the shard manager.")),
88
- port: Config.integer("shardManagerPort").pipe(Config.withDefault(defaults.shardManagerAddress.port), Config.withDescription("The port of the shard manager."))
89
- }).pipe(/*#__PURE__*/Config.map(options => _RunnerAddress.RunnerAddress.make(options))),
90
- shardManagerUnavailableTimeout: /*#__PURE__*/Config.duration("shardManagerUnavailableTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.shardManagerUnavailableTimeout), /*#__PURE__*/Config.withDescription("If the shard is unavilable for this duration, all the shard assignments will be reset.")),
84
+ shardLockRefreshInterval: /*#__PURE__*/Config.duration("shardLockRefreshInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockRefreshInterval), /*#__PURE__*/Config.withDescription("Shard lock refresh interval.")),
85
+ shardLockExpiration: /*#__PURE__*/Config.duration("shardLockExpiration").pipe(/*#__PURE__*/Config.withDefault(defaults.shardLockExpiration), /*#__PURE__*/Config.withDescription("Shard lock expiration duration.")),
91
86
  entityMailboxCapacity: /*#__PURE__*/Config.integer("entityMailboxCapacity").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMailboxCapacity), /*#__PURE__*/Config.withDescription("The default capacity of the mailbox for entities.")),
92
87
  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.")),
93
88
  entityTerminationTimeout: /*#__PURE__*/Config.duration("entityTerminationTimeout").pipe(/*#__PURE__*/Config.withDefault(defaults.entityTerminationTimeout), /*#__PURE__*/Config.withDescription("The maximum duration of time to wait for an entity to terminate.")),
94
89
  entityMessagePollInterval: /*#__PURE__*/Config.duration("entityMessagePollInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.entityMessagePollInterval), /*#__PURE__*/Config.withDescription("The interval at which to poll for unprocessed messages from storage.")),
95
90
  entityReplyPollInterval: /*#__PURE__*/Config.duration("entityReplyPollInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.entityReplyPollInterval), /*#__PURE__*/Config.withDescription("The interval at which to poll for client replies from storage.")),
96
- sendRetryInterval: /*#__PURE__*/Config.duration("sendRetryInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.sendRetryInterval), /*#__PURE__*/Config.withDescription("The interval to retry a send if EntityNotManagedByRunner is returned.")),
91
+ sendRetryInterval: /*#__PURE__*/Config.duration("sendRetryInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.sendRetryInterval), /*#__PURE__*/Config.withDescription("The interval to retry a send if EntityNotAssignedToRunner is returned.")),
97
92
  refreshAssignmentsInterval: /*#__PURE__*/Config.duration("refreshAssignmentsInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.refreshAssignmentsInterval), /*#__PURE__*/Config.withDescription("The interval at which to refresh shard assignments.")),
93
+ runnerHealthCheckInterval: /*#__PURE__*/Config.duration("runnerHealthCheckInterval").pipe(/*#__PURE__*/Config.withDefault(defaults.runnerHealthCheckInterval), /*#__PURE__*/Config.withDescription("The interval at which to check for unhealthy runners and report them.")),
98
94
  simulateRemoteSerialization: /*#__PURE__*/Config.boolean("simulateRemoteSerialization").pipe(/*#__PURE__*/Config.withDefault(defaults.simulateRemoteSerialization), /*#__PURE__*/Config.withDescription("Simulate serialization and deserialization to remote runners for local entities."))
99
95
  });
100
96
  /**
@@ -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","serverVersion","shardsPerGroup","shardManagerAddress","shardManagerUnavailableTimeout","minutes","shardGroups","entityMailboxCapacity","entityMaxIdleTime","entityTerminationTimeout","seconds","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","duration","boolean","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","_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","shardLockRefreshInterval","seconds","shardLockExpiration","entityMailboxCapacity","entityMaxIdleTime","minutes","entityTerminationTimeout","entityMessagePollInterval","entityReplyPollInterval","millis","sendRetryInterval","refreshAssignmentsInterval","runnerHealthCheckInterval","simulateRemoteSerialization","layer","options","succeed","layerDefaults","config","all","string","pipe","withDefault","withDescription","integer","map","option","array","duration","boolean","configFromEnv","withConfigProvider","fromEnv","constantCase","layerFromEnv","effect"],"sources":["../../src/ShardingConfig.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -104,7 +104,7 @@ const makeGenerator = exports.makeGenerator = /*#__PURE__*/Effect.gen(function*
104
104
  // reset sequence if we're in a new millisecond
105
105
  sequence = 0;
106
106
  sequenceAt = now;
107
- } else if (sequence >= 1024) {
107
+ } else if (sequence >= 4096) {
108
108
  // if we've hit the max sequence for this millisecond, go to the next
109
109
  // millisecond
110
110
  sequenceAt++;
@@ -26,7 +26,7 @@ const withLogAddress = layer => Layer.effectDiscard(Effect.gen(function* () {
26
26
  * @since 1.0.0
27
27
  * @category Layers
28
28
  */
29
- const layer = exports.layer = /*#__PURE__*/RunnerServer.layerWithClients.pipe(withLogAddress, /*#__PURE__*/Layer.provide(/*#__PURE__*/Layer.fresh(RpcServer.layerProtocolSocketServer)));
29
+ const layer = exports.layer = /*#__PURE__*/RunnerServer.layerWithClients.pipe(withLogAddress, /*#__PURE__*/Layer.provide(RpcServer.layerProtocolSocketServer));
30
30
  /**
31
31
  * @since 1.0.0
32
32
  * @category Layers
@@ -1 +1 @@
1
- {"version":3,"file":"SocketRunner.js","names":["_SocketServer","require","RpcServer","_interopRequireWildcard","Effect","Layer","RunnerServer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withLogAddress","layer","effectDiscard","gen","server","SocketServer","address","_tag","path","hostname","port","annotateLogs","logInfo","package","service","pipe","provideMerge","exports","layerWithClients","provide","fresh","layerProtocolSocketServer","layerClientOnly"],"sources":["../../src/SocketRunner.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,uBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,uBAAA,CAAAF,OAAA;AAGA,IAAAK,YAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAiD,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,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;AAVjD;;;;AAeA,MAAMkB,cAAc,GAAaC,KAA2B,IAC1DtB,KAAK,CAACuB,aAAa,CAACxB,MAAM,CAACyB,GAAG,CAAC,aAAS;EACtC,MAAMC,MAAM,GAAG,OAAOC,0BAAY;EAClC,MAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,CAACC,IAAI,KAAK,aAAa,GACjDH,MAAM,CAACE,OAAO,CAACE,IAAI,GACnB,GAAGJ,MAAM,CAACE,OAAO,CAACG,QAAQ,IAAIL,MAAM,CAACE,OAAO,CAACI,IAAI,EAAE;EACvD,OAAOhC,MAAM,CAACiC,YAAY,CAACjC,MAAM,CAACkC,OAAO,CAAC,iBAAiBN,OAAO,EAAE,CAAC,EAAE;IACrEO,OAAO,EAAE,iBAAiB;IAC1BC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC,CAAC,CAACC,IAAI,CAACpC,KAAK,CAACqC,YAAY,CAACf,KAAK,CAAC,CAAC;AAErC;;;;AAIO,MAAMA,KAAK,GAAAgB,OAAA,CAAAhB,KAAA,gBASdrB,YAAY,CAACsC,gBAAgB,CAACH,IAAI,CACpCf,cAAc,eACdrB,KAAK,CAACwC,OAAO,cAACxC,KAAK,CAACyC,KAAK,CAAC5C,SAAS,CAAC6C,yBAAyB,CAAC,CAAC,CAChE;AAED;;;;AAIO,MAAMC,eAAe,GAAAL,OAAA,CAAAK,eAAA,GAIxB1C,YAAY,CAAC0C,eAAe","ignoreList":[]}
1
+ {"version":3,"file":"SocketRunner.js","names":["_SocketServer","require","RpcServer","_interopRequireWildcard","Effect","Layer","RunnerServer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","withLogAddress","layer","effectDiscard","gen","server","SocketServer","address","_tag","path","hostname","port","annotateLogs","logInfo","package","service","pipe","provideMerge","exports","layerWithClients","provide","layerProtocolSocketServer","layerClientOnly"],"sources":["../../src/SocketRunner.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,aAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,uBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,uBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAF,uBAAA,CAAAF,OAAA;AAIA,IAAAK,YAAA,GAAAH,uBAAA,CAAAF,OAAA;AAAiD,SAAAE,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,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;AAXjD;;;;AAgBA,MAAMkB,cAAc,GAAaC,KAA2B,IAC1DtB,KAAK,CAACuB,aAAa,CAACxB,MAAM,CAACyB,GAAG,CAAC,aAAS;EACtC,MAAMC,MAAM,GAAG,OAAOC,0BAAY;EAClC,MAAMC,OAAO,GAAGF,MAAM,CAACE,OAAO,CAACC,IAAI,KAAK,aAAa,GACjDH,MAAM,CAACE,OAAO,CAACE,IAAI,GACnB,GAAGJ,MAAM,CAACE,OAAO,CAACG,QAAQ,IAAIL,MAAM,CAACE,OAAO,CAACI,IAAI,EAAE;EACvD,OAAOhC,MAAM,CAACiC,YAAY,CAACjC,MAAM,CAACkC,OAAO,CAAC,iBAAiBN,OAAO,EAAE,CAAC,EAAE;IACrEO,OAAO,EAAE,iBAAiB;IAC1BC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC,CAAC,CAACC,IAAI,CAACpC,KAAK,CAACqC,YAAY,CAACf,KAAK,CAAC,CAAC;AAErC;;;;AAIO,MAAMA,KAAK,GAAAgB,OAAA,CAAAhB,KAAA,gBAUdrB,YAAY,CAACsC,gBAAgB,CAACH,IAAI,CACpCf,cAAc,eACdrB,KAAK,CAACwC,OAAO,CAAC3C,SAAS,CAAC4C,yBAAyB,CAAC,CACnD;AAED;;;;AAIO,MAAMC,eAAe,GAAAJ,OAAA,CAAAI,eAAA,GAIxBzC,YAAY,CAACyC,eAAe","ignoreList":[]}
@@ -35,6 +35,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
35
35
  table: table("migrations")
36
36
  }));
37
37
  const messageKindAckChunk = sql.literal(String(messageKind.AckChunk));
38
+ const messageKindInterrupt = sql.literal(String(messageKind.Interrupt));
38
39
  const replyKindWithExit = sql.literal(String(replyKind.WithExit));
39
40
  const messagesTable = table("messages");
40
41
  const messagesTableSql = sql(messagesTable);
@@ -242,11 +243,11 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
242
243
  times: 3
243
244
  }))
244
245
  });
245
- const fiveMinutesAgo = sql.onDialectOrElse({
246
- mssql: () => sql.literal(`DATEADD(MINUTE, -5, GETDATE())`),
247
- mysql: () => sql.literal(`NOW() - INTERVAL 5 MINUTE`),
248
- pg: () => sql.literal(`NOW() - INTERVAL '5 minutes'`),
249
- orElse: () => sql.literal(`DATETIME('now', '-5 minute')`)
246
+ const tenMinutesAgo = sql.onDialectOrElse({
247
+ mssql: () => sql.literal(`DATEADD(MINUTE, -10, GETDATE())`),
248
+ mysql: () => sql.literal(`NOW() - INTERVAL 10 MINUTE`),
249
+ pg: () => sql.literal(`NOW() - INTERVAL '10 minutes'`),
250
+ orElse: () => sql.literal(`DATETIME('now', '-10 minute')`)
250
251
  });
251
252
  const sqlNowString = sql.onDialectOrElse({
252
253
  pg: () => "NOW()",
@@ -273,7 +274,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
273
274
  AND (kind = ${replyKindWithExit} OR acked = ${sqlFalse})
274
275
  )
275
276
  AND m.processed = ${sqlFalse}
276
- AND (m.last_read IS NULL OR m.last_read < ${fiveMinutesAgo})
277
+ AND (m.last_read IS NULL OR m.last_read < ${tenMinutesAgo})
277
278
  AND (m.deliver_at IS NULL OR m.deliver_at <= ${sql.literal(String(now))})
278
279
  ORDER BY m.rowid ASC
279
280
  FOR UPDATE
@@ -293,7 +294,7 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
293
294
  AND (kind = ${replyKindWithExit} OR acked = ${sqlFalse})
294
295
  )
295
296
  AND processed = ${sqlFalse}
296
- AND (m.last_read IS NULL OR m.last_read < ${fiveMinutesAgo})
297
+ AND (m.last_read IS NULL OR m.last_read < ${tenMinutesAgo})
297
298
  AND (m.deliver_at IS NULL OR m.deliver_at <= ${sql.literal(String(now))})
298
299
  ORDER BY m.rowid ASC
299
300
  `.unprepared.pipe(Effect.tap(rows => {
@@ -339,17 +340,18 @@ const make = exports.make = /*#__PURE__*/Effect.fnUntraced(function* (options) {
339
340
  }) : Option.none()
340
341
  });
341
342
  }));
342
- }).pipe(Effect.provideService(SqlClient.SafeIntegers, true), _ClusterError.PersistenceError.refail),
343
+ }).pipe(Effect.provideService(SqlClient.SafeIntegers, true), _ClusterError.PersistenceError.refail, withTracerDisabled),
343
344
  saveReply: reply => Effect.suspend(() => {
344
345
  const row = replyToRow(reply);
345
346
  const update = reply._tag === "Chunk" ? sql`UPDATE ${messagesTableSql} SET last_reply_id = ${reply.id} WHERE id = ${reply.requestId}` : sql`UPDATE ${messagesTableSql} SET processed = ${sqlTrue}, last_reply_id = ${reply.id} WHERE request_id = ${reply.requestId}`;
346
347
  return update.unprepared.pipe(Effect.andThen(sql`INSERT INTO ${repliesTableSql} ${sql.insert(row)}`), sql.withTransaction);
347
- }).pipe(Effect.asVoid, _ClusterError.PersistenceError.refail),
348
+ }).pipe(Effect.asVoid, _ClusterError.PersistenceError.refail, withTracerDisabled),
348
349
  clearReplies: Effect.fnUntraced(function* (requestId) {
349
- yield* sql`DELETE FROM ${repliesTableSql} WHERE request_id = ${String(requestId)}`;
350
+ yield* sql`DELETE FROM ${repliesTableSql} WHERE request_id = ${String(requestId)} AND kind = 0`;
351
+ yield* sql`DELETE FROM ${messagesTableSql} WHERE request_id = ${String(requestId)} AND kind = ${messageKindInterrupt}`;
350
352
  yield* sql`UPDATE ${messagesTableSql} SET processed = ${sqlFalse}, last_reply_id = NULL, last_read = NULL WHERE request_id = ${String(requestId)}`;
351
- }, sql.withTransaction, _ClusterError.PersistenceError.refail),
352
- requestIdForPrimaryKey: primaryKey => sql`SELECT id FROM ${messagesTableSql} WHERE message_id = ${primaryKey}`.pipe(Effect.map(rows => Option.fromNullable(rows[0]?.id).pipe(Option.map(Snowflake.Snowflake))), Effect.provideService(SqlClient.SafeIntegers, true), _ClusterError.PersistenceError.refail),
353
+ }, sql.withTransaction, _ClusterError.PersistenceError.refail, withTracerDisabled),
354
+ requestIdForPrimaryKey: primaryKey => sql`SELECT id FROM ${messagesTableSql} WHERE message_id = ${primaryKey}`.pipe(Effect.map(rows => Option.fromNullable(rows[0]?.id).pipe(Option.map(Snowflake.Snowflake))), Effect.provideService(SqlClient.SafeIntegers, true), _ClusterError.PersistenceError.refail, withTracerDisabled),
353
355
  repliesFor: requestIds =>
354
356
  // replies where:
355
357
  // - the request is in the list
@@ -479,8 +481,7 @@ const migrations = options => {
479
481
  last_reply_id BIGINT,
480
482
  last_read DATETIME,
481
483
  deliver_at BIGINT,
482
- UNIQUE (message_id),
483
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
484
+ UNIQUE (message_id)
484
485
  )
485
486
  `,
486
487
  mysql: () => sql`
@@ -505,8 +506,7 @@ const migrations = options => {
505
506
  last_read DATETIME,
506
507
  deliver_at BIGINT,
507
508
  UNIQUE (id),
508
- UNIQUE (message_id),
509
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
509
+ UNIQUE (message_id)
510
510
  )
511
511
  `,
512
512
  pg: () => sql`
@@ -530,8 +530,7 @@ const migrations = options => {
530
530
  last_reply_id BIGINT,
531
531
  last_read TIMESTAMP,
532
532
  deliver_at BIGINT,
533
- UNIQUE (message_id),
534
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
533
+ UNIQUE (message_id)
535
534
  )
536
535
  `.pipe(Effect.ignore),
537
536
  orElse: () =>
@@ -556,8 +555,7 @@ const migrations = options => {
556
555
  last_reply_id INTEGER,
557
556
  last_read TEXT,
558
557
  deliver_at INTEGER,
559
- UNIQUE (message_id),
560
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
558
+ UNIQUE (message_id)
561
559
  )
562
560
  `
563
561
  });
@@ -615,8 +613,7 @@ const migrations = options => {
615
613
  sequence INT,
616
614
  acked BIT NOT NULL DEFAULT 0,
617
615
  CONSTRAINT ${sql(repliesTable + "_one_exit")} UNIQUE (request_id, kind),
618
- CONSTRAINT ${sql(repliesTable + "_sequence")} UNIQUE (request_id, sequence),
619
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
616
+ CONSTRAINT ${sql(repliesTable + "_sequence")} UNIQUE (request_id, sequence)
620
617
  )
621
618
  `,
622
619
  mysql: () => sql`
@@ -630,8 +627,7 @@ const migrations = options => {
630
627
  acked BOOLEAN NOT NULL DEFAULT FALSE,
631
628
  UNIQUE (id),
632
629
  UNIQUE (request_id, kind),
633
- UNIQUE (request_id, sequence),
634
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
630
+ UNIQUE (request_id, sequence)
635
631
  )
636
632
  `,
637
633
  pg: () => sql`
@@ -644,8 +640,7 @@ const migrations = options => {
644
640
  sequence INT,
645
641
  acked BOOLEAN NOT NULL DEFAULT FALSE,
646
642
  UNIQUE (request_id, kind),
647
- UNIQUE (request_id, sequence),
648
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
643
+ UNIQUE (request_id, sequence)
649
644
  )
650
645
  `,
651
646
  orElse: () =>
@@ -659,8 +654,7 @@ const migrations = options => {
659
654
  sequence INTEGER,
660
655
  acked BOOLEAN NOT NULL DEFAULT FALSE,
661
656
  UNIQUE (request_id, kind),
662
- UNIQUE (request_id, sequence),
663
- FOREIGN KEY (request_id) REFERENCES ${messagesTableSql} (id) ON DELETE CASCADE
657
+ UNIQUE (request_id, sequence)
664
658
  )
665
659
  `
666
660
  });