@effect/cluster 0.23.0 → 0.24.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.
- package/dist/cjs/internal/atLeastOnce.js +6 -6
- package/dist/cjs/internal/atLeastOnce.js.map +1 -1
- package/dist/cjs/internal/entityManager.js +9 -9
- package/dist/cjs/internal/entityManager.js.map +1 -1
- package/dist/cjs/internal/recipientBehaviour.js +5 -5
- package/dist/cjs/internal/recipientBehaviour.js.map +1 -1
- package/dist/cjs/internal/shardManager.js +29 -29
- package/dist/cjs/internal/shardManager.js.map +1 -1
- package/dist/cjs/internal/shardManagerClient.js +2 -2
- package/dist/cjs/internal/shardManagerClient.js.map +1 -1
- package/dist/cjs/internal/sharding.js +19 -19
- package/dist/cjs/internal/sharding.js.map +1 -1
- package/dist/cjs/internal/storage.js +3 -3
- package/dist/cjs/internal/storage.js.map +1 -1
- package/dist/dts/internal/shardManager.d.ts.map +1 -1
- package/dist/esm/internal/atLeastOnce.js +6 -6
- package/dist/esm/internal/atLeastOnce.js.map +1 -1
- package/dist/esm/internal/entityManager.js +9 -9
- package/dist/esm/internal/entityManager.js.map +1 -1
- package/dist/esm/internal/recipientBehaviour.js +5 -5
- package/dist/esm/internal/recipientBehaviour.js.map +1 -1
- package/dist/esm/internal/shardManager.js +29 -29
- package/dist/esm/internal/shardManager.js.map +1 -1
- package/dist/esm/internal/shardManagerClient.js +2 -2
- package/dist/esm/internal/shardManagerClient.js.map +1 -1
- package/dist/esm/internal/sharding.js +19 -19
- package/dist/esm/internal/sharding.js.map +1 -1
- package/dist/esm/internal/storage.js +3 -3
- package/dist/esm/internal/storage.js.map +1 -1
- package/package.json +3 -3
- package/src/internal/atLeastOnce.ts +6 -6
- package/src/internal/entityManager.ts +14 -16
- package/src/internal/recipientBehaviour.ts +5 -5
- package/src/internal/shardManager.ts +34 -36
- package/src/internal/shardManagerClient.ts +2 -2
- package/src/internal/sharding.ts +26 -30
- package/src/internal/storage.ts +4 -4
@@ -20,12 +20,12 @@ function runPendingMessageSweeperScoped(interval) {
|
|
20
20
|
}
|
21
21
|
/** @internal */
|
22
22
|
function atLeastOnceRecipientBehaviour(fa) {
|
23
|
-
return Effect.gen(function* (
|
24
|
-
const storage = yield*
|
25
|
-
const entityId = yield*
|
26
|
-
const shardId = yield*
|
27
|
-
const recipientType = yield*
|
28
|
-
const offer = yield*
|
23
|
+
return Effect.gen(function* () {
|
24
|
+
const storage = yield* AtLeastOnceStorage.AtLeastOnceStorage;
|
25
|
+
const entityId = yield* RecipientBehaviourContext.entityId;
|
26
|
+
const shardId = yield* RecipientBehaviourContext.shardId;
|
27
|
+
const recipientType = yield* RecipientBehaviourContext.recipientType;
|
28
|
+
const offer = yield* fa;
|
29
29
|
return message => (0, _Function.pipe)(storage.upsert(recipientType, shardId, entityId, message), Effect.zipRight((0, _Function.pipe)(offer(message), Effect.tap(MessageState.match({
|
30
30
|
onAcknowledged: () => Effect.void,
|
31
31
|
onProcessed: () => storage.markAsProcessed(recipientType, shardId, entityId, message)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"atLeastOnce.js","names":["Effect","_interopRequireWildcard","require","_Function","Stream","AtLeastOnceStorage","MessageState","RecipientBehaviourContext","Sharding","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runPendingMessageSweeperScoped","interval","flatMap","storage","pipe","getAssignedShardIds","shardIds","sweepPending","mapEffect","envelope","sendMessageToLocalEntityManagerWithoutRetries","runDrain","delay","catchAllCause","logError","forever","forkScoped","asVoid","atLeastOnceRecipientBehaviour","fa","gen","
|
1
|
+
{"version":3,"file":"atLeastOnce.js","names":["Effect","_interopRequireWildcard","require","_Function","Stream","AtLeastOnceStorage","MessageState","RecipientBehaviourContext","Sharding","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","runPendingMessageSweeperScoped","interval","flatMap","storage","pipe","getAssignedShardIds","shardIds","sweepPending","mapEffect","envelope","sendMessageToLocalEntityManagerWithoutRetries","runDrain","delay","catchAllCause","logError","forever","forkScoped","asVoid","atLeastOnceRecipientBehaviour","fa","gen","entityId","shardId","recipientType","offer","message","upsert","zipRight","tap","match","onAcknowledged","void","onProcessed","markAsProcessed"],"sources":["../../../src/internal/atLeastOnce.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -29,10 +29,10 @@ const EntityManagerSymbolKey = "@effect/cluster/EntityManager";
|
|
29
29
|
const EntityManagerTypeId = exports.EntityManagerTypeId = /*#__PURE__*/Symbol.for(EntityManagerSymbolKey);
|
30
30
|
/** @internal */
|
31
31
|
function make(recipientType, recipientBehaviour, sharding, config, serialization, options = {}) {
|
32
|
-
return Effect.gen(function* (
|
32
|
+
return Effect.gen(function* () {
|
33
33
|
const entityMaxIdle = options.entityMaxIdleTime || Option.none();
|
34
|
-
const env = yield*
|
35
|
-
const entityStates = yield*
|
34
|
+
const env = yield* Effect.context();
|
35
|
+
const entityStates = yield* RefSynchronized.make(HashMap.empty());
|
36
36
|
function startExpirationFiber(recipientAddress) {
|
37
37
|
const maxIdleMillis = (0, _Function.pipe)(entityMaxIdle, Option.getOrElse(() => config.entityMaxIdleTime), Duration.toMillis);
|
38
38
|
function sleep(duration) {
|
@@ -98,18 +98,18 @@ function make(recipientType, recipientBehaviour, sharding, config, serialization
|
|
98
98
|
}));
|
99
99
|
} else {
|
100
100
|
// offer doesn't exist, create a new one
|
101
|
-
return Effect.gen(function* (
|
102
|
-
const executionScope = yield*
|
103
|
-
const expirationFiber = yield*
|
104
|
-
const cdt = yield*
|
101
|
+
return Effect.gen(function* () {
|
102
|
+
const executionScope = yield* Scope.make();
|
103
|
+
const expirationFiber = yield* startExpirationFiber(recipientAddress);
|
104
|
+
const cdt = yield* Clock.currentTimeMillis;
|
105
105
|
const forkShutdown = (0, _Function.pipe)(forkEntityTermination(recipientAddress), Effect.asVoid);
|
106
106
|
const shardId = sharding.getShardId(recipientAddress);
|
107
|
-
const sendAndGetState = yield*
|
107
|
+
const sendAndGetState = yield* (0, _Function.pipe)(recipientBehaviour, Effect.map(offer => envelope => (0, _Function.pipe)(serialization.decode(recipientType.schema, envelope.body), Effect.flatMap(message => (0, _Function.pipe)(offer(message), Effect.flatMap(_ => MessageState.mapEffect(_, value => serialization.encode(Message.exitSchema(message), value))))))), Scope.extend(executionScope), Effect.provideService(RecipientBehaviourContext.RecipientBehaviourContext, RecipientBehaviourContext.make({
|
108
108
|
recipientAddress,
|
109
109
|
shardId,
|
110
110
|
recipientType: recipientType,
|
111
111
|
forkShutdown
|
112
|
-
})), Effect.provide(env))
|
112
|
+
})), Effect.provide(env));
|
113
113
|
const entityState = EntityState.make({
|
114
114
|
sendAndGetState,
|
115
115
|
expirationFiber,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"entityManager.js","names":["Clock","_interopRequireWildcard","require","Duration","Effect","Exit","Fiber","_Function","HashMap","HashSet","Option","Scope","RefSynchronized","Message","MessageState","RecipientBehaviourContext","ShardingException","EntityState","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EntityManagerSymbolKey","EntityManagerTypeId","exports","Symbol","for","make","recipientType","recipientBehaviour","sharding","config","serialization","options","gen","_","entityMaxIdle","entityMaxIdleTime","none","env","context","entityStates","empty","startExpirationFiber","recipientAddress","maxIdleMillis","pipe","getOrElse","toMillis","sleep","duration","Do","zipLeft","millis","bind","currentTimeMillis","let","map","lastReceivedAt","cdt","tap","remaining","void","zipRight","forkEntityTermination","asVoid","interruptible","annotateLogs","name","forkDaemon","terminateEntity","flatMap","match","onNone","onSome","entityState","interrupt","expirationFiber","ensuring","close","executionScope","update","remove","catchAllCause","logError","entityId","recipientTypeName","modifyEffect","entityStatesMap","succeed","terminationFiber","some","modify","withTerminationFiber","getOrCreateEntityState","withLastReceivedAd","isShuttingDown","isGoingDown","fail","EntityNotManagedByThisPodException","forkShutdown","shardId","getShardId","sendAndGetState","offer","envelope","decode","schema","body","message","mapEffect","value","encode","exitSchema","extend","provideService","provide","_tag","unlessEffect","isEntityOnLocalShards","die","maybeEntityState","terminateAllEntities","keySet","terminateEntities","entitiesToTerminate","forEach","await","timeout","entityTerminationTimeout","onFailure","onSuccess","logDebug","concurrency","terminateEntitiesOnShards","shards","entities","filter","self"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,IAAA,GAAAJ,uBAAA,CAAAC,OAAA;AACA,IAAAI,KAAA,GAAAL,uBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAP,uBAAA,CAAAC,OAAA;AACA,IAAAO,OAAA,GAAAR,uBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAT,uBAAA,CAAAC,OAAA;AACA,IAAAS,KAAA,GAAAV,uBAAA,CAAAC,OAAA;AACA,IAAAU,eAAA,GAAAX,uBAAA,CAAAC,OAAA;AACA,IAAAW,OAAA,GAAAZ,uBAAA,CAAAC,OAAA;AACA,IAAAY,YAAA,GAAAb,uBAAA,CAAAC,OAAA;AAGA,IAAAa,yBAAA,GAAAd,uBAAA,CAAAC,OAAA;AAQA,IAAAc,iBAAA,GAAAf,uBAAA,CAAAC,OAAA;AACA,IAAAe,WAAA,GAAAhB,uBAAA,CAAAC,OAAA;AAA+C,SAAAgB,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAlB,wBAAAkB,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAE/C;AACA,MAAMW,sBAAsB,GAAG,+BAA+B;AAE9D;AACO,MAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,gBAAGE,MAAM,CAACC,GAAG,CAC3CJ,sBAAsB,CACvB;AA6BD;AACM,SAAUK,IAAIA,CAClBC,aAA+C,EAC/CC,kBAAiE,EACjEC,QAA2B,EAC3BC,MAAqC,EACrCC,aAA0C,EAC1CC,OAAA,GAAqD,EAAE;EAEvD,OAAO7C,MAAM,CAAC8C,GAAG,CAAC,WAAUC,CAAC;IAC3B,MAAMC,aAAa,GAAGH,OAAO,CAACI,iBAAiB,IAAI3C,MAAM,CAAC4C,IAAI,EAAE;IAChE,MAAMC,GAAG,GAAG,OAAOJ,CAAC,CAAC/C,MAAM,CAACoD,OAAO,EAAmE,CAAC;IACvG,MAAMC,YAAY,GAAG,OAAON,CAAC,CAC3BvC,eAAe,CAAC+B,IAAI,CAKlBnC,OAAO,CAACkD,KAAK,EAAE,CAAC,CACnB;IAED,SAASC,oBAAoBA,CAACC,gBAAmD;MAC/E,MAAMC,aAAa,GAAG,IAAAC,cAAI,EACxBV,aAAa,EACb1C,MAAM,CAACqD,SAAS,CAAC,MAAMhB,MAAM,CAACM,iBAAiB,CAAC,EAChDlD,QAAQ,CAAC6D,QAAQ,CAClB;MAED,SAASC,KAAKA,CAACC,QAAgB;QAC7B,OAAO,IAAAJ,cAAI,EACT1D,MAAM,CAAC+D,EAAE,EACT/D,MAAM,CAACgE,OAAO,CAACpE,KAAK,CAACiE,KAAK,CAAC9D,QAAQ,CAACkE,MAAM,CAACH,QAAQ,CAAC,CAAC,CAAC,EACtD9D,MAAM,CAACkE,IAAI,CAAC,KAAK,EAAE,MAAMtE,KAAK,CAACuE,iBAAiB,CAAC,EACjDnE,MAAM,CAACkE,IAAI,CAAC,KAAK,EAAE,MAAM1D,eAAe,CAACc,GAAG,CAAC+B,YAAY,CAAC,CAAC,EAC3DrD,MAAM,CAACoE,GAAG,CAAC,gBAAgB,EAAE,CAAC;UAAEC;QAAG,CAAE,KACnC,IAAAX,cAAI,EACFtD,OAAO,CAACkB,GAAG,CAAC+C,GAAG,EAAEb,gBAAgB,CAAC,EAClClD,MAAM,CAAC+D,GAAG,CAAEtB,CAAC,IAAKA,CAAC,CAACuB,cAAc,CAAC,EACnChE,MAAM,CAACqD,SAAS,CAAC,MAAM,CAAC,CAAC,CAC1B,CAAC,EACJ3D,MAAM,CAACoE,GAAG,CAAC,WAAW,EAAE,CAAC;UAAEG,GAAG;UAAED;QAAc,CAAE,KAAMb,aAAa,GAAGc,GAAG,GAAGD,cAAe,CAAC,EAC5FtE,MAAM,CAACwE,GAAG,CAAEzB,CAAC,IAAKA,CAAC,CAAC0B,SAAS,GAAG,CAAC,GAAGZ,KAAK,CAACd,CAAC,CAAC0B,SAAS,CAAC,GAAGzE,MAAM,CAAC0E,IAAI,CAAC,CACtE;MACH;MAEA,OAAO,IAAAhB,cAAI,EACTG,KAAK,CAACJ,aAAa,CAAC,EACpBzD,MAAM,CAAC2E,QAAQ,CAACC,qBAAqB,CAACpB,gBAAgB,CAAC,CAAC,EACxDxD,MAAM,CAAC6E,MAAM,EACb7E,MAAM,CAAC8E,aAAa,EACpB9E,MAAM,CAAC+E,YAAY,CAAC,UAAU,EAAEvB,gBAAgB,CAAC,EACjDxD,MAAM,CAAC+E,YAAY,CAAC,eAAe,EAAEvC,aAAa,CAACwC,IAAI,CAAC,EACxDhF,MAAM,CAACiF,UAAU,CAClB;IACH;IAEA;;;IAGA,SAASC,eAAeA,CAAC1B,gBAAmD;MAC1E,OAAO,IAAAE,cAAI;MACT;MACAlD,eAAe,CAACc,GAAG,CACjB+B,YAAY,CACb,EACDrD,MAAM,CAACqE,GAAG,CAACjE,OAAO,CAACkB,GAAG,CAACkC,gBAAgB,CAAC,CAAC,EACzCxD,MAAM,CAACmF,OAAO,CAAC7E,MAAM,CAAC8E,KAAK,CAAC;QAC1B;QACAC,MAAM,EAAEA,CAAA,KAAMrF,MAAM,CAAC0E,IAAI;QACzB;QACAY,MAAM,EAAGC,WAAW,IAClB,IAAA7B,cAAI;QACF;QACAxD,KAAK,CAACsF,SAAS,CAACD,WAAW,CAACE,eAAe,CAAC;QAC5C;QACAzF,MAAM,CAAC0F,QAAQ,CAACnF,KAAK,CAACoF,KAAK,CAACJ,WAAW,CAACK,cAAc,EAAE3F,IAAI,CAACyE,IAAI,CAAC,CAAC;QACnE;QACA1E,MAAM,CAAC0F,QAAQ,CAAClF,eAAe,CAACqF,MAAM,CAACxC,YAAY,EAAEjD,OAAO,CAAC0F,MAAM,CAACtC,gBAAgB,CAAC,CAAC,CAAC;QACvF;QACAxD,MAAM,CAAC+F,aAAa,CAAC/F,MAAM,CAACgG,QAAQ,CAAC,EACrChG,MAAM,CAAC6E,MAAM,EACb7E,MAAM,CAAC+E,YAAY,CAAC,UAAU,EAAEvB,gBAAgB,CAACyC,QAAQ,CAAC,EAC1DjG,MAAM,CAAC+E,YAAY,CAAC,eAAe,EAAEvB,gBAAgB,CAAC0C,iBAAiB,CAAC;OAE7E,CAAC,CAAC,CACJ;IACH;IAEA;;;IAGA,SAAStB,qBAAqBA,CAC5BpB,gBAAmD;MAEnD,OAAOhD,eAAe,CAAC2F,YAAY,CAAC9C,YAAY,EAAG+C,eAAe,IAChE,IAAA1C,cAAI,EACFtD,OAAO,CAACkB,GAAG,CAAC8E,eAAe,EAAE5C,gBAAgB,CAAC,EAC9ClD,MAAM,CAAC8E,KAAK,CAAC;QACX;QACAC,MAAM,EAAEA,CAAA,KAAMrF,MAAM,CAACqG,OAAO,CAAC,CAAC/F,MAAM,CAAC4C,IAAI,EAAE,EAAEkD,eAAe,CAAU,CAAC;QACvE;QACAd,MAAM,EAAGC,WAAW,IAClB,IAAA7B,cAAI,EACF6B,WAAW,CAACe,gBAAgB,EAC5BhG,MAAM,CAAC8E,KAAK,CAAC;UACX;UACAE,MAAM,EAAEA,CAAA,KAAMtF,MAAM,CAACqG,OAAO,CAAC,CAACd,WAAW,CAACe,gBAAgB,EAAEF,eAAe,CAAU,CAAC;UACtF;UACAf,MAAM,EAAEA,CAAA,KACN,IAAA3B,cAAI,EACFwB,eAAe,CAAC1B,gBAAgB,CAAC,EACjCxD,MAAM,CAACiF,UAAU,EACjBjF,MAAM,CAACqE,GAAG,CAAEiC,gBAAgB,IAC1B,CACEhG,MAAM,CAACiG,IAAI,CAACD,gBAAgB,CAAC,EAC7BlG,OAAO,CAACoG,MAAM,CACZJ,eAAe,EACf5C,gBAAgB,EAChB3C,WAAW,CAAC4F,oBAAoB,CAACH,gBAAgB,CAAC,CACnD,CACO,CACX;SAEN,CAAC;OAEP,CAAC,CACH,CAAC;IACN;IAEA,SAASI,sBAAsBA,CAC7BlD,gBAAmD;MAKnD,OAAOhD,eAAe,CAAC2F,YAAY,CAAC9C,YAAY,EAAGgB,GAAG,IACpD,IAAAX,cAAI,EACFtD,OAAO,CAACkB,GAAG,CAAC+C,GAAG,EAAEb,gBAAgB,CAAC,EAClClD,MAAM,CAAC8E,KAAK,CAAC;QACXE,MAAM,EAAGC,WAAW,IAClB,IAAA7B,cAAI,EACF6B,WAAW,CAACe,gBAAgB,EAC5BhG,MAAM,CAAC8E,KAAK,CAAC;UACX;UACAC,MAAM,EAAEA,CAAA,KACN,IAAA3B,cAAI,EACF9D,KAAK,CAACuE,iBAAiB,EACvBnE,MAAM,CAACqE,GAAG,CACPE,GAAG,IACF,CACEjE,MAAM,CAACiG,IAAI,CAAChB,WAAW,CAAC,EACxBnF,OAAO,CAACoG,MAAM,CAACnC,GAAG,EAAEb,gBAAgB,EAAE3C,WAAW,CAAC8F,kBAAkB,CAACpC,GAAG,CAAC,CAAC,CAClE,CACb,CACF;UACH;UACAe,MAAM,EAAEA,CAAA,KAAMtF,MAAM,CAACqG,OAAO,CAAC,CAAC/F,MAAM,CAAC4C,IAAI,EAAE,EAAEmB,GAAG,CAAU;SAC3D,CAAC,CACH;QACHgB,MAAM,EAAEA,CAAA,KACNrF,MAAM,CAACmF,OAAO,CAACzC,QAAQ,CAACkE,cAAc,EAAGC,WAAW,IAAI;UACtD,IAAIA,WAAW,EAAE;YACf;YACA,OAAO7G,MAAM,CAAC8G,IAAI,CAAC,IAAIlG,iBAAiB,CAACmG,kCAAkC,CAAC;cAAEvD;YAAgB,CAAE,CAAC,CAAC;UACpG,CAAC,MAAM;YACL;YACA,OAAOxD,MAAM,CAAC8C,GAAG,CAAC,WAAUC,CAAC;cAC3B,MAAM6C,cAAc,GAAG,OAAO7C,CAAC,CAACxC,KAAK,CAACgC,IAAI,EAAE,CAAC;cAC7C,MAAMkD,eAAe,GAAG,OAAO1C,CAAC,CAACQ,oBAAoB,CAACC,gBAAgB,CAAC,CAAC;cACxE,MAAMe,GAAG,GAAG,OAAOxB,CAAC,CAACnD,KAAK,CAACuE,iBAAiB,CAAC;cAC7C,MAAM6C,YAAY,GAAG,IAAAtD,cAAI,EAACkB,qBAAqB,CAACpB,gBAAgB,CAAC,EAAExD,MAAM,CAAC6E,MAAM,CAAC;cACjF,MAAMoC,OAAO,GAAGvE,QAAQ,CAACwE,UAAU,CAAC1D,gBAAgB,CAAC;cAErD,MAAM2D,eAAe,GAAG,OAAOpE,CAAC,CAAC,IAAAW,cAAI,EACnCjB,kBAAkB,EAClBzC,MAAM,CAACqE,GAAG,CAAE+C,KAAK,IAAMC,QAA+C,IACpE,IAAA3D,cAAI,EACFd,aAAa,CAAC0E,MAAM,CAAC9E,aAAa,CAAC+E,MAAM,EAAEF,QAAQ,CAACG,IAAI,CAAC,EACzDxH,MAAM,CAACmF,OAAO,CAAEsC,OAAO,IACrB,IAAA/D,cAAI,EACF0D,KAAK,CAACK,OAAO,CAAC,EACdzH,MAAM,CAACmF,OAAO,CAAEpC,CAAC,IACfrC,YAAY,CAACgH,SAAS,CACpB3E,CAAC,EACA4E,KAAK,IAAK/E,aAAa,CAACgF,MAAM,CAACnH,OAAO,CAACoH,UAAU,CAACJ,OAAO,CAAC,EAAEE,KAAK,CAAC,CACpE,CACF,CACF,CACF,CACF,CACF,EACDpH,KAAK,CAACuH,MAAM,CAAClC,cAAc,CAAC,EAC5B5F,MAAM,CAAC+H,cAAc,CACnBpH,yBAAyB,CAACA,yBAAyB,EACnDA,yBAAyB,CAAC4B,IAAI,CAAC;gBAC7BiB,gBAAgB;gBAChByD,OAAO;gBACPzE,aAAa,EAAEA,aAAoB;gBACnCwE;eACD,CAAC,CACH,EACDhH,MAAM,CAACgI,OAAO,CAAC7E,GAAG,CAAC,CACpB,CAAC;cAEF,MAAMoC,WAAW,GAAG1E,WAAW,CAAC0B,IAAI,CAAC;gBACnC4E,eAAe;gBACf1B,eAAe;gBACfG,cAAc;gBACdU,gBAAgB,EAAEhG,MAAM,CAAC4C,IAAI,EAAE;gBAC/BoB,cAAc,EAAEC;eACjB,CAAC;cAEF,OAAO,CACLjE,MAAM,CAACiG,IAAI,CAAChB,WAAW,CAAC,EACxBnF,OAAO,CAAC6B,GAAG,CACToC,GAAG,EACHb,gBAAgB,EAChB+B,WAAW,CACZ,CACO;YACZ,CAAC,CAAC;UACJ;QACF,CAAC;OACJ,CAAC,CACH,CAAC;IACN;IAEA,SAAS4B,eAAeA,CACtBE,QAA+C;MAQ/C,OAAO,IAAA3D,cAAI,EACT1D,MAAM,CAAC+D,EAAE,EACT/D,MAAM,CAACwE,GAAG,CAAC,MAAK;QACd;QACA,IAAIhC,aAAa,CAACyF,IAAI,KAAK,YAAY,EAAE;UACvC,OAAOjI,MAAM,CAAC6E,MAAM,CAAC7E,MAAM,CAACkI,YAAY,CACtClI,MAAM,CAAC8G,IAAI,CACT,IAAIlG,iBAAiB,CAACmG,kCAAkC,CAAC;YACvDvD,gBAAgB,EAAE6D,QAAQ,CAAC7D;WAC5B,CAAC,CACH,EACDd,QAAQ,CAACyF,qBAAqB,CAACd,QAAQ,CAAC7D,gBAAgB,CAAC,CAC1D,CAAC;QACJ,CAAC,MAAM,IAAIhB,aAAa,CAACyF,IAAI,KAAK,WAAW,EAAE;UAC7C,OAAOjI,MAAM,CAAC0E,IAAI;QACpB;QACA,OAAO1E,MAAM,CAACoI,GAAG,CAAC,yBAAyB,CAAC;MAC9C,CAAC,CAAC,EACFpI,MAAM,CAACkE,IAAI,CAAC,kBAAkB,EAAE,MAAMwC,sBAAsB,CAACW,QAAQ,CAAC7D,gBAAgB,CAAC,CAAC,EACxFxD,MAAM,CAACmF,OAAO,CAAEpC,CAAC,IACf,IAAAW,cAAI,EACFX,CAAC,CAACsF,gBAAgB,EAClB/H,MAAM,CAAC8E,KAAK,CAAC;QACXC,MAAM,EAAEA,CAAA,KACN,IAAA3B,cAAI,EACF1D,MAAM,CAAC6D,KAAK,CAAC9D,QAAQ,CAACkE,MAAM,CAAC,GAAG,CAAC,CAAC,EAClCjE,MAAM,CAACmF,OAAO,CAAC,MAAMgC,eAAe,CAACE,QAAQ,CAAC,CAAC,CAChD;QACH/B,MAAM,EAAGC,WAAW,IAAI;UACtB,OAAOA,WAAW,CAAC4B,eAAe,CAACE,QAAQ,CAAC;QAC9C;OACD,CAAC,CACH,CACF,CACF;IACH;IAEA,MAAMiB,oBAAoB,GAAG,IAAA5E,cAAI,EAC/BlD,eAAe,CAACc,GAAG,CAAC+B,YAAY,CAAC,EACjCrD,MAAM,CAACqE,GAAG,CAACjE,OAAO,CAACmI,MAAM,CAAC,EAC1BvI,MAAM,CAACmF,OAAO,CAACqD,iBAAiB,CAAC,CAClC;IAED,SAASA,iBAAiBA,CACxBC,mBAEC;MAED,OAAO,IAAA/E,cAAI,EACT+E,mBAAmB,EACnBzI,MAAM,CAAC0I,OAAO,CACXlF,gBAAgB,IACf,IAAAE,cAAI,EACFkB,qBAAqB,CAACpB,gBAAgB,CAAC,EACvCxD,MAAM,CAACmF,OAAO,CAAEpC,CAAC,IACfzC,MAAM,CAAC8E,KAAK,CAACrC,CAAC,EAAE;QACdsC,MAAM,EAAEA,CAAA,KAAMrF,MAAM,CAAC0E,IAAI;QACzBY,MAAM,EAAGgB,gBAAgB,IACvB,IAAA5C,cAAI,EACFxD,KAAK,CAACyI,KAAK,CAACrC,gBAAgB,CAAC,EAC7BtG,MAAM,CAAC4I,OAAO,CAACjG,MAAM,CAACkG,wBAAwB,CAAC,EAC/C7I,MAAM,CAACoF,KAAK,CAAC;UACX0D,SAAS,EAAEA,CAAA,KACT9I,MAAM,CAACgG,QAAQ,CACb,UAAUxC,gBAAgB,uEACxBzD,QAAQ,CAAC6D,QAAQ,CAACjB,MAAM,CAACkG,wBAAwB,CACnD,MAAM,CACP;UACHE,SAAS,EAAEA,CAAA,KACT/I,MAAM,CAACgJ,QAAQ,CACb,UAAUxF,gBAAgB,cAAc;SAE7C,CAAC,EACFxD,MAAM,CAAC6E,MAAM;OAElB,CAAC,CACH,CACF,EACH;QAAEoE,WAAW,EAAE;MAAS,CAAE,CAC3B,EACDjJ,MAAM,CAAC6E,MAAM,CACd;IACH;IAEA,SAASqE,yBAAyBA,CAACC,MAAwC;MACzE,OAAO,IAAAzF,cAAI,EACTlD,eAAe,CAACgG,MAAM,CAACnD,YAAY,EAAG+F,QAAQ,IAAK,CACjDhJ,OAAO,CAACiJ,MAAM,CACZD,QAAQ,EACR,CAACrG,CAAC,EAAES,gBAAgB,KAAKnD,OAAO,CAACgB,GAAG,CAAC8H,MAAM,EAAEzG,QAAQ,CAACwE,UAAU,CAAC1D,gBAAgB,CAAC,CAAC,CACpF,EACD4F,QAAQ,CACT,CAAC,EACFpJ,MAAM,CAACqE,GAAG,CAACjE,OAAO,CAACmI,MAAM,CAAC,EAC1BvI,MAAM,CAACmF,OAAO,CAACqD,iBAAiB,CAAC,CAClC;IACH;IAEA,MAAMc,IAAI,GAAkB;MAC1B,CAACnH,mBAAmB,GAAGA,mBAAmB;MAC1CgF,eAAe;MACfmB,oBAAoB;MACpBY;KACD;IACD,OAAOI,IAAI;EACb,CAAC,CAAC;AACJ","ignoreList":[]}
|
1
|
+
{"version":3,"file":"entityManager.js","names":["Clock","_interopRequireWildcard","require","Duration","Effect","Exit","Fiber","_Function","HashMap","HashSet","Option","Scope","RefSynchronized","Message","MessageState","RecipientBehaviourContext","ShardingException","EntityState","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","EntityManagerSymbolKey","EntityManagerTypeId","exports","Symbol","for","make","recipientType","recipientBehaviour","sharding","config","serialization","options","gen","entityMaxIdle","entityMaxIdleTime","none","env","context","entityStates","empty","startExpirationFiber","recipientAddress","maxIdleMillis","pipe","getOrElse","toMillis","sleep","duration","Do","zipLeft","millis","bind","currentTimeMillis","let","map","_","lastReceivedAt","cdt","tap","remaining","void","zipRight","forkEntityTermination","asVoid","interruptible","annotateLogs","name","forkDaemon","terminateEntity","flatMap","match","onNone","onSome","entityState","interrupt","expirationFiber","ensuring","close","executionScope","update","remove","catchAllCause","logError","entityId","recipientTypeName","modifyEffect","entityStatesMap","succeed","terminationFiber","some","modify","withTerminationFiber","getOrCreateEntityState","withLastReceivedAd","isShuttingDown","isGoingDown","fail","EntityNotManagedByThisPodException","forkShutdown","shardId","getShardId","sendAndGetState","offer","envelope","decode","schema","body","message","mapEffect","value","encode","exitSchema","extend","provideService","provide","_tag","unlessEffect","isEntityOnLocalShards","die","maybeEntityState","terminateAllEntities","keySet","terminateEntities","entitiesToTerminate","forEach","await","timeout","entityTerminationTimeout","onFailure","onSuccess","logDebug","concurrency","terminateEntitiesOnShards","shards","entities","filter","self"],"sources":["../../../src/internal/entityManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -29,9 +29,9 @@ function fromFunctionEffectStateful(initialState, handler) {
|
|
29
29
|
}
|
30
30
|
/** @internal */
|
31
31
|
function fromInMemoryQueue(handler) {
|
32
|
-
return Effect.gen(function* (
|
33
|
-
const entityId = yield*
|
34
|
-
const messageStates = yield*
|
32
|
+
return Effect.gen(function* () {
|
33
|
+
const entityId = yield* RecipientBehaviourContext.entityId;
|
34
|
+
const messageStates = yield* Ref.make(HashMap.empty());
|
35
35
|
function updateMessageState(message, state) {
|
36
36
|
return (0, _Function.pipe)(Ref.update(messageStates, HashMap.set(PrimaryKey.value(message), state)), Effect.as(state));
|
37
37
|
}
|
@@ -41,12 +41,12 @@ function fromInMemoryQueue(handler) {
|
|
41
41
|
function reply(message, reply) {
|
42
42
|
return updateMessageState(message, MessageState.Processed(reply));
|
43
43
|
}
|
44
|
-
return yield*
|
44
|
+
return yield* (0, _Function.pipe)(Deferred.make(), Effect.flatMap(shutdownCompleted => (0, _Function.pipe)(Effect.acquireRelease(Queue.unbounded(), queue => (0, _Function.pipe)(PoisonPill.make, Effect.flatMap(msg => Queue.offer(queue, msg)), Effect.zipLeft(Deferred.await(shutdownCompleted)), Effect.uninterruptible)), Effect.tap(queue => (0, _Function.pipe)(Effect.logDebug("Behaviour started."), Effect.zipRight(handler(entityId, queue, reply)), Effect.ensuring(Deferred.succeed(shutdownCompleted, true)), Effect.zipRight(Effect.logDebug("Behaviour exited.")), Effect.annotateLogs("entityId", entityId), Effect.forkDaemon)), Effect.map(queue => message => {
|
45
45
|
return (0, _Function.pipe)(getMessageState(message), Effect.flatMap(Option.match({
|
46
46
|
onNone: () => (0, _Function.pipe)(Queue.offer(queue, message), Effect.zipRight(updateMessageState(message, MessageState.Acknowledged))),
|
47
47
|
onSome: state => Effect.succeed(state)
|
48
48
|
})));
|
49
|
-
}), Effect.annotateLogs("entityId", entityId))))
|
49
|
+
}), Effect.annotateLogs("entityId", entityId))));
|
50
50
|
});
|
51
51
|
}
|
52
52
|
//# sourceMappingURL=recipientBehaviour.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"recipientBehaviour.js","names":["Deferred","_interopRequireWildcard","require","Effect","_Function","HashMap","Option","PrimaryKey","Queue","Ref","MessageState","PoisonPill","RecipientBehaviourContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fromFunctionEffect","handler","flatMap","entityId","pipe","context","map","message","provide","fromFunctionEffectStateful","initialState","make","stateRef","fromInMemoryQueue","gen","
|
1
|
+
{"version":3,"file":"recipientBehaviour.js","names":["Deferred","_interopRequireWildcard","require","Effect","_Function","HashMap","Option","PrimaryKey","Queue","Ref","MessageState","PoisonPill","RecipientBehaviourContext","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fromFunctionEffect","handler","flatMap","entityId","pipe","context","map","message","provide","fromFunctionEffectStateful","initialState","make","stateRef","fromInMemoryQueue","gen","messageStates","empty","updateMessageState","state","update","value","as","getMessageState","reply","Processed","shutdownCompleted","acquireRelease","unbounded","queue","msg","offer","zipLeft","await","uninterruptible","tap","logDebug","zipRight","ensuring","succeed","annotateLogs","forkDaemon","match","onNone","Acknowledged","onSome"],"sources":["../../../src/internal/recipientBehaviour.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -88,14 +88,14 @@ function make(layerScope, stateRef, rebalanceSemaphore, eventsHub, healthApi, po
|
|
88
88
|
});
|
89
89
|
}
|
90
90
|
function rebalance(rebalanceImmediately) {
|
91
|
-
const algo = Effect.gen(function* (
|
92
|
-
const state = yield*
|
91
|
+
const algo = Effect.gen(function* () {
|
92
|
+
const state = yield* RefSynchronized.get(stateRef);
|
93
93
|
const [assignments, unassignments] = rebalanceImmediately || HashSet.size(state.unassignedShards) > 0 ? decideAssignmentsForUnassignedShards(state) : decideAssignmentsForUnbalancedShards(state, config.rebalanceRate);
|
94
94
|
const areChanges = HashMap.size(assignments) > 0 || HashMap.size(unassignments) > 0;
|
95
95
|
if (areChanges) {
|
96
|
-
yield*
|
96
|
+
yield* Effect.logDebug("Rebalance (rebalanceImmidiately=" + JSON.stringify(rebalanceImmediately) + ")");
|
97
97
|
}
|
98
|
-
const failedPingedPods = yield*
|
98
|
+
const failedPingedPods = yield* (0, _Function.pipe)(HashSet.union(HashMap.keySet(assignments), HashMap.keySet(unassignments)), Effect.forEach(pod => (0, _Function.pipe)(podApi.ping(pod), Effect.timeout(config.pingTimeout), Effect.match({
|
99
99
|
onFailure: () => Chunk.fromIterable([pod]),
|
100
100
|
onSuccess: () => Chunk.empty()
|
101
101
|
})), {
|
@@ -106,7 +106,7 @@ function make(layerScope, stateRef, rebalanceSemaphore, eventsHub, healthApi, po
|
|
106
106
|
HashSet.fromIterable);
|
107
107
|
const readyAssignments = (0, _Function.pipe)(assignments, HashMap.map(HashSet.difference(shardsToRemove)), HashMap.filter(__ => HashSet.size(__) > 0));
|
108
108
|
const readyUnassignments = (0, _Function.pipe)(unassignments, HashMap.map(HashSet.difference(shardsToRemove)), HashMap.filter(__ => HashSet.size(__) > 0));
|
109
|
-
const [failedUnassignedPods, failedUnassignedShards] = yield*
|
109
|
+
const [failedUnassignedPods, failedUnassignedShards] = yield* (0, _Function.pipe)(Effect.forEach(readyUnassignments, ([pod, shards]) => (0, _Function.pipe)(podApi.unassignShards(pod, shards), Effect.zipRight(updateShardsState(shards, Option.none())), Effect.matchEffect({
|
110
110
|
onFailure: () => Effect.succeed([HashSet.fromIterable([pod]), shards]),
|
111
111
|
onSuccess: () => (0, _Function.pipe)(PubSub.publish(eventsHub, ShardingEvent.ShardsUnassigned(pod, shards)), Effect.as([HashSet.empty(), HashSet.empty()]))
|
112
112
|
})), {
|
@@ -115,7 +115,7 @@ function make(layerScope, stateRef, rebalanceSemaphore, eventsHub, healthApi, po
|
|
115
115
|
// remove assignments of shards that couldn't be unassigned, as well as faulty pods.
|
116
116
|
const filteredAssignments = (0, _Function.pipe)(HashMap.removeMany(readyAssignments, failedUnassignedPods), HashMap.map((shards, __) => HashSet.difference(shards, failedUnassignedShards)));
|
117
117
|
// then do the assignments
|
118
|
-
const failedAssignedPods = yield*
|
118
|
+
const failedAssignedPods = yield* (0, _Function.pipe)(Effect.forEach(filteredAssignments, ([pod, shards]) => (0, _Function.pipe)(podApi.assignShards(pod, shards), Effect.zipRight(updateShardsState(shards, Option.some(pod))), Effect.matchEffect({
|
119
119
|
onFailure: () => Effect.succeed(Chunk.fromIterable([pod])),
|
120
120
|
onSuccess: () => (0, _Function.pipe)(PubSub.publish(eventsHub, ShardingEvent.ShardsAssigned(pod, shards)), Effect.as(Chunk.empty()))
|
121
121
|
})), {
|
@@ -123,19 +123,19 @@ function make(layerScope, stateRef, rebalanceSemaphore, eventsHub, healthApi, po
|
|
123
123
|
}), Effect.map(Chunk.fromIterable), Effect.map(_ => Chunk.flatten(_)), Effect.map(HashSet.fromIterable));
|
124
124
|
const failedPods = HashSet.union(HashSet.union(failedPingedPods, failedUnassignedPods), failedAssignedPods);
|
125
125
|
// check if failing pods are still up
|
126
|
-
yield*
|
126
|
+
yield* Effect.forkIn(layerScope)(Effect.forEach(failedPods, _ => notifyUnhealthyPod(_), {
|
127
127
|
discard: true
|
128
|
-
}))
|
128
|
+
}));
|
129
129
|
if (HashSet.size(failedPods) > 0) {
|
130
|
-
yield*
|
130
|
+
yield* Effect.logDebug("Failed to rebalance pods: " + failedPods + " failed pinged: " + failedPingedPods + " failed assigned: " + failedAssignedPods + " failed unassigned: " + failedUnassignedPods);
|
131
131
|
}
|
132
132
|
// retry rebalancing later if there was any failure
|
133
133
|
if (HashSet.size(failedPods) > 0 && rebalanceImmediately) {
|
134
|
-
yield*
|
134
|
+
yield* (0, _Function.pipe)(Effect.sleep(config.rebalanceRetryInterval), Effect.zipRight(rebalance(rebalanceImmediately)), Effect.forkIn(layerScope));
|
135
135
|
}
|
136
136
|
// persist state changes to Redis
|
137
137
|
if (areChanges) {
|
138
|
-
yield*
|
138
|
+
yield* Effect.forkIn(layerScope)(persistAssignments);
|
139
139
|
}
|
140
140
|
});
|
141
141
|
return rebalanceSemaphore.withPermits(1)(algo);
|
@@ -237,32 +237,32 @@ function pickNewPods(shardsToRebalance, state, rebalanceImmediately, rebalanceRa
|
|
237
237
|
* @since 1.0.0
|
238
238
|
* @category layers
|
239
239
|
*/
|
240
|
-
const live = exports.live = /*#__PURE__*/Effect.gen(function* (
|
241
|
-
const config = yield*
|
242
|
-
const stateRepository = yield*
|
243
|
-
const healthApi = yield*
|
244
|
-
const podsApi = yield*
|
245
|
-
const layerScope = yield*
|
246
|
-
const pods = yield*
|
247
|
-
const assignments = yield*
|
248
|
-
const filteredPods = yield*
|
240
|
+
const live = exports.live = /*#__PURE__*/Effect.gen(function* () {
|
241
|
+
const config = yield* ManagerConfig.ManagerConfig;
|
242
|
+
const stateRepository = yield* Storage.Storage;
|
243
|
+
const healthApi = yield* PodsHealth.PodsHealth;
|
244
|
+
const podsApi = yield* Pods.Pods;
|
245
|
+
const layerScope = yield* Effect.scope;
|
246
|
+
const pods = yield* stateRepository.getPods;
|
247
|
+
const assignments = yield* stateRepository.getAssignments;
|
248
|
+
const filteredPods = yield* (0, _Function.pipe)(Effect.filter(pods, ([podAddress]) => healthApi.isAlive(podAddress), {
|
249
249
|
concurrency: "inherit"
|
250
250
|
}), Effect.map(HashMap.fromIterable));
|
251
251
|
const filteredAssignments = HashMap.filter(assignments, pod => Option.isSome(pod) && HashMap.has(filteredPods, pod.value));
|
252
|
-
const cdt = yield*
|
252
|
+
const cdt = yield* Clock.currentTimeMillis;
|
253
253
|
const initialState = ShardManagerState.make(HashMap.map(filteredPods, pod => PodWithMetadata.make(pod, cdt)), HashMap.union(filteredAssignments, (0, _Function.pipe)(Chunk.range(1, config.numberOfShards), Chunk.map(n => [ShardId.make(n), Option.none()]), HashMap.fromIterable)));
|
254
|
-
const state = yield*
|
255
|
-
const rebalanceSemaphore = yield*
|
256
|
-
const eventsHub = yield*
|
254
|
+
const state = yield* RefSynchronized.make(initialState);
|
255
|
+
const rebalanceSemaphore = yield* Effect.makeSemaphore(1);
|
256
|
+
const eventsHub = yield* PubSub.unbounded();
|
257
257
|
const shardManager = make(layerScope, state, rebalanceSemaphore, eventsHub, healthApi, podsApi, stateRepository, config);
|
258
|
-
yield*
|
258
|
+
yield* Effect.forkIn(layerScope)(shardManager.persistPods);
|
259
259
|
// rebalance immediately if there are unassigned shards
|
260
|
-
yield*
|
260
|
+
yield* shardManager.rebalance(HashSet.size(initialState.unassignedShards) > 0);
|
261
261
|
// start a regular rebalance at the given interval
|
262
|
-
yield*
|
262
|
+
yield* (0, _Function.pipe)(shardManager.rebalance(false), Effect.repeat(Schedule.spaced(config.rebalanceInterval)), Effect.forkIn(layerScope));
|
263
263
|
// log info events
|
264
|
-
yield*
|
265
|
-
yield*
|
264
|
+
yield* (0, _Function.pipe)(shardManager.getShardingEvents, Stream.mapEffect(_ => Effect.logDebug(JSON.stringify(_))), Stream.runDrain, Effect.forkIn(layerScope));
|
265
|
+
yield* Effect.logDebug("Shard Manager loaded");
|
266
266
|
return shardManager;
|
267
267
|
}).pipe( /*#__PURE__*/Layer.scoped(shardManagerTag));
|
268
268
|
//# sourceMappingURL=shardManager.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shardManager.js","names":["Chunk","_interopRequireWildcard","require","Clock","_Context","Effect","_Equal","_Function","HashMap","HashSet","Layer","List","Option","PubSub","Schedule","Stream","RefSynchronized","ManagerConfig","Pods","PodsHealth","ShardId","ShardingEvent","ShardingException","Storage","PodWithMetadata","ShardManagerState","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerTypeId","exports","Symbol","for","shardManagerTag","GenericTag","make","layerScope","stateRef","rebalanceSemaphore","eventsHub","healthApi","podApi","stateRepository","config","getAssignments","pipe","map","_","shards","getShardingEvents","fromPubSub","register","pod","logDebug","address","version","zipRight","updateAndGetEffect","state","flatMap","clock","currentTimeMillis","cdt","pods","zipLeft","publish","PodRegistered","when","rebalance","size","unassignedShards","forkIn","persistPods","asVoid","stateHasPod","podAddress","notifyUnhealthyPod","whenEffect","PodHealthChecked","unlessEffect","logWarning","unregister","isAlive","checkAllPodsHealth","keySet","forEach","concurrency","discard","eff","Do","bind","modify","filter","equals","some","remove","none","tap","PodUnregistered","ShardsUnassigned","unassignments","withRetry","zio","retry","spaced","persistRetryInterval","andThen","recurs","persistRetryCount","ignore","persistAssignments","saveAssignments","savePods","v","updateShardsState","updateEffect","isSome","value","fail","PodNoLongerRegisteredException","succeed","assignment","shard","rebalanceImmediately","algo","gen","assignments","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","rebalanceRate","areChanges","JSON","stringify","failedPingedPods","union","ping","timeout","pingTimeout","match","onFailure","fromIterable","onSuccess","empty","flatten","shardsToRemove","appendAll","__","readyAssignments","difference","readyUnassignments","failedUnassignedPods","failedUnassignedShards","unassignShards","matchEffect","as","unzip","filteredAssignments","removeMany","failedAssignedPods","assignShards","ShardsAssigned","failedPods","sleep","rebalanceRetryInterval","withPermits","pickNewPods","extraShardsToAllocate","allPodsHaveMaxVersion","shardsPerPod","extraShards","Math","max","averageShardsPerPod","take","sortedShardsToRebalance","shardsToRebalance","reduce","unassignedPods","toArray","maxVersion","isNone","extractVersion","compareVersion","getOrElse","p","findFirst","minByOption","onNone","onSome","oldPod","Number","MAX_SAFE_INTEGER","unassigned","add","prepend","of","assignmentsPerPod","groupBy","shardId","unassignmentsPerPod","live","podsApi","scope","getPods","filteredPods","initialState","range","numberOfShards","makeSemaphore","unbounded","shardManager","repeat","rebalanceInterval","mapEffect","runDrain","scoped"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"shardManager.js","names":["Chunk","_interopRequireWildcard","require","Clock","_Context","Effect","_Equal","_Function","HashMap","HashSet","Layer","List","Option","PubSub","Schedule","Stream","RefSynchronized","ManagerConfig","Pods","PodsHealth","ShardId","ShardingEvent","ShardingException","Storage","PodWithMetadata","ShardManagerState","_utils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerTypeId","exports","Symbol","for","shardManagerTag","GenericTag","make","layerScope","stateRef","rebalanceSemaphore","eventsHub","healthApi","podApi","stateRepository","config","getAssignments","pipe","map","_","shards","getShardingEvents","fromPubSub","register","pod","logDebug","address","version","zipRight","updateAndGetEffect","state","flatMap","clock","currentTimeMillis","cdt","pods","zipLeft","publish","PodRegistered","when","rebalance","size","unassignedShards","forkIn","persistPods","asVoid","stateHasPod","podAddress","notifyUnhealthyPod","whenEffect","PodHealthChecked","unlessEffect","logWarning","unregister","isAlive","checkAllPodsHealth","keySet","forEach","concurrency","discard","eff","Do","bind","modify","filter","equals","some","remove","none","tap","PodUnregistered","ShardsUnassigned","unassignments","withRetry","zio","retry","spaced","persistRetryInterval","andThen","recurs","persistRetryCount","ignore","persistAssignments","saveAssignments","savePods","v","updateShardsState","updateEffect","isSome","value","fail","PodNoLongerRegisteredException","succeed","assignment","shard","rebalanceImmediately","algo","gen","assignments","decideAssignmentsForUnassignedShards","decideAssignmentsForUnbalancedShards","rebalanceRate","areChanges","JSON","stringify","failedPingedPods","union","ping","timeout","pingTimeout","match","onFailure","fromIterable","onSuccess","empty","flatten","shardsToRemove","appendAll","__","readyAssignments","difference","readyUnassignments","failedUnassignedPods","failedUnassignedShards","unassignShards","matchEffect","as","unzip","filteredAssignments","removeMany","failedAssignedPods","assignShards","ShardsAssigned","failedPods","sleep","rebalanceRetryInterval","withPermits","pickNewPods","extraShardsToAllocate","allPodsHaveMaxVersion","shardsPerPod","extraShards","Math","max","averageShardsPerPod","take","sortedShardsToRebalance","shardsToRebalance","reduce","unassignedPods","toArray","maxVersion","isNone","extractVersion","compareVersion","getOrElse","p","findFirst","minByOption","onNone","onSome","oldPod","Number","MAX_SAFE_INTEGER","unassigned","add","prepend","of","assignmentsPerPod","groupBy","shardId","unassignmentsPerPod","live","podsApi","scope","getPods","filteredPods","initialState","range","numberOfShards","makeSemaphore","unbounded","shardManager","repeat","rebalanceInterval","mapEffect","runDrain","scoped"],"sources":["../../../src/internal/shardManager.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -31,8 +31,8 @@ function make(args) {
|
|
31
31
|
};
|
32
32
|
}
|
33
33
|
/** @internal */
|
34
|
-
const local = exports.local = /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Layer.effect(shardManagerClientTag, /*#__PURE__*/Effect.gen(function* (
|
35
|
-
const config = yield*
|
34
|
+
const local = exports.local = /*#__PURE__*/(0, _Function.pipe)( /*#__PURE__*/Layer.effect(shardManagerClientTag, /*#__PURE__*/Effect.gen(function* () {
|
35
|
+
const config = yield* ShardingConfig.ShardingConfig;
|
36
36
|
const pod = PodAddress.make(config.selfHost, config.shardingPort);
|
37
37
|
let shards = HashMap.empty();
|
38
38
|
for (let i = 1; i <= config.numberOfShards; i++) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shardManagerClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","HashMap","Layer","Option","PodAddress","ShardId","ShardingConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerClientTypeId","exports","Symbol","for","shardManagerClientTag","GenericTag","make","args","local","pipe","effect","gen","
|
1
|
+
{"version":3,"file":"shardManagerClient.js","names":["Context","_interopRequireWildcard","require","Effect","_Function","HashMap","Layer","Option","PodAddress","ShardId","ShardingConfig","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardManagerSymbolKey","ShardManagerClientTypeId","exports","Symbol","for","shardManagerClientTag","GenericTag","make","args","local","pipe","effect","gen","config","pod","selfHost","shardingPort","shards","empty","numberOfShards","some","register","void","unregister","notifyUnhealthyPod","getAssignments","succeed"],"sources":["../../../src/internal/shardManagerClient.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
@@ -252,9 +252,9 @@ function make(layerScope, address, config, shardAssignments, entityManagers, sin
|
|
252
252
|
}
|
253
253
|
const getShardingRegistrationEvents = Stream.fromPubSub(eventsHub);
|
254
254
|
function registerRecipient(recipientType, behavior, options) {
|
255
|
-
return Effect.gen(function* (
|
256
|
-
const entityManager = yield*
|
257
|
-
yield*
|
255
|
+
return Effect.gen(function* () {
|
256
|
+
const entityManager = yield* EntityManager.make(recipientType, behavior, self, config, serialization, options);
|
257
|
+
yield* Ref.update(entityManagers, HashMap.set(recipientType.name, entityManager));
|
258
258
|
});
|
259
259
|
}
|
260
260
|
const registerScoped = Effect.acquireRelease(register, _ => unregister);
|
@@ -284,23 +284,23 @@ function make(layerScope, address, config, shardAssignments, entityManagers, sin
|
|
284
284
|
/**
|
285
285
|
* @internal
|
286
286
|
*/
|
287
|
-
const live = exports.live = /*#__PURE__*/Layer.scoped(shardingTag, /*#__PURE__*/Effect.gen(function* (
|
288
|
-
const config = yield*
|
289
|
-
const pods = yield*
|
290
|
-
const shardManager = yield*
|
291
|
-
const storage = yield*
|
292
|
-
const serialization = yield*
|
293
|
-
const shardsCache = yield*
|
294
|
-
const entityManagers = yield*
|
295
|
-
const shuttingDown = yield*
|
296
|
-
const eventsHub = yield*
|
297
|
-
const singletons = yield*
|
298
|
-
const layerScope = yield*
|
299
|
-
const cdt = yield*
|
300
|
-
const lastUnhealthyNodeReported = yield*
|
301
|
-
yield*
|
287
|
+
const live = exports.live = /*#__PURE__*/Layer.scoped(shardingTag, /*#__PURE__*/Effect.gen(function* () {
|
288
|
+
const config = yield* ShardingConfig.ShardingConfig;
|
289
|
+
const pods = yield* Pods.Pods;
|
290
|
+
const shardManager = yield* ShardManagerClient.ShardManagerClient;
|
291
|
+
const storage = yield* Storage.Storage;
|
292
|
+
const serialization = yield* Serialization.Serialization;
|
293
|
+
const shardsCache = yield* Ref.make(HashMap.empty());
|
294
|
+
const entityManagers = yield* Ref.make(HashMap.empty());
|
295
|
+
const shuttingDown = yield* Ref.make(false);
|
296
|
+
const eventsHub = yield* PubSub.unbounded();
|
297
|
+
const singletons = yield* Synchronized.make(List.nil());
|
298
|
+
const layerScope = yield* Effect.scope;
|
299
|
+
const cdt = yield* Clock.currentTimeMillis;
|
300
|
+
const lastUnhealthyNodeReported = yield* Ref.make(cdt);
|
301
|
+
yield* Effect.addFinalizer(() => (0, _Function.pipe)(Synchronized.get(singletons), Effect.flatMap(Effect.forEach(([_, __, fa]) => Option.isSome(fa) ? Fiber.interrupt(fa.value) : Effect.void))));
|
302
302
|
const sharding = make(layerScope, PodAddress.make(config.selfHost, config.shardingPort), config, shardsCache, entityManagers, singletons, lastUnhealthyNodeReported, shuttingDown, shardManager, pods, storage, serialization, eventsHub);
|
303
|
-
yield*
|
303
|
+
yield* sharding.refreshAssignments;
|
304
304
|
return sharding;
|
305
305
|
}));
|
306
306
|
//# sourceMappingURL=sharding.js.map
|