@adonis-agora/durable 0.56.4 → 0.56.5
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/CHANGELOG.md +28 -0
- package/dist/src/dashboard/index.d.ts +1 -1
- package/dist/src/dashboard/index.js +1 -1
- package/dist/src/engine.d.ts +49 -5
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +137 -13
- package/dist/src/engine.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/interfaces.d.ts +8 -0
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/protocol.d.ts +3 -0
- package/dist/src/protocol.d.ts.map +1 -1
- package/dist/src/protocol.js +21 -3
- package/dist/src/protocol.js.map +1 -1
- package/dist/src/transport-pool.d.ts.map +1 -1
- package/dist/src/transport-pool.js +4 -13
- package/dist/src/transport-pool.js.map +1 -1
- package/dist/src/transports/bullmq/bullmq-transport.d.ts +4 -2
- package/dist/src/transports/bullmq/bullmq-transport.d.ts.map +1 -1
- package/dist/src/transports/bullmq/bullmq-transport.js +110 -56
- package/dist/src/transports/bullmq/bullmq-transport.js.map +1 -1
- package/dist/src/transports/worker-keys.d.ts +3 -1
- package/dist/src/transports/worker-keys.d.ts.map +1 -1
- package/dist/src/transports/worker-keys.js +23 -11
- package/dist/src/transports/worker-keys.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,33 @@
|
|
|
1
1
|
# @adonis-agora/durable
|
|
2
2
|
|
|
3
|
+
## 0.56.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#423](https://github.com/DavideCarvalho/adonis-agora-durable/pull/423) [`5e11049`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/5e110491835743bf4a4081ad37add3f19cb1fdf8) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - fix(engine): a pod killed mid-flight no longer strands its runs.
|
|
8
|
+
|
|
9
|
+
- A step result is now acknowledged only after its run is durably marked as owed a turn (its
|
|
10
|
+
`suspended` timer is pulled in to one lease from now). Before, a pod that settled a result and died
|
|
11
|
+
before — or during — the background resume left the run `suspended` until the 5-minute reconcile
|
|
12
|
+
wake; now any instance's due-timer poll resumes it once the dead pod's lease lapses.
|
|
13
|
+
- A turn that died between writing a step's `pending` checkpoint and handing the job to the broker
|
|
14
|
+
no longer leaves that step undispatched forever. Recovery (an orphaned `running` run, or a
|
|
15
|
+
`suspended` run whose lease holder died holding it) re-sends the steps that turn wrote, under the
|
|
16
|
+
run's lease, with their original `stepId` — a step whose first dispatch did land may run twice,
|
|
17
|
+
within the documented at-least-once contract.
|
|
18
|
+
|
|
19
|
+
- [#424](https://github.com/DavideCarvalho/adonis-agora-durable/pull/424) [`28ec25e`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/28ec25e6a708d55cae4df0421fd042558242ae65) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - A fan step's worker no longer publishes a pickup heartbeat for a step that finishes within a second.
|
|
20
|
+
Every remote step's worker beat the moment it picked the task up, so a 40,000-step `ctx.all` fan
|
|
21
|
+
published 40,000 heartbeats, each delivered to every engine instance. For a fan step that beat only
|
|
22
|
+
stamps `lastHeartbeatAt` and feeds the lease renewal (a fan step cannot carry a `timeoutMs`), so the
|
|
23
|
+
engine now marks fan tasks `lazyPickupBeat` and the worker sends the beat once the step has run for
|
|
24
|
+
`PICKUP_BEAT_GRACE_MS` (1 s), or not at all when it settles first; a beat the handler sends itself
|
|
25
|
+
replaces it. Every other step still beats at pickup, and a worker that does not know the field beats
|
|
26
|
+
at pickup as before. A 40k fan with 12 subscribers locally: ~40,000 → ~300 publishes, Redis CPU −18%,
|
|
27
|
+
wall 4.7 s → 4.0 s.
|
|
28
|
+
|
|
29
|
+
- [#425](https://github.com/DavideCarvalho/adonis-agora-durable/pull/425) [`8b8d192`](https://github.com/DavideCarvalho/adonis-agora-durable/commit/8b8d1924cbbd4217df9c3192f334a2e255f44d83) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Make `engine.workerHealth()` (the dashboard's `/workers`, `/health` and `/metrics`) cheap on the BullMQ transport: one shared, single-flight walk of the worker-heartbeat keyspace (reused for 1s) now serves `listWorkerGroups`, every `groupHealth` and `readAllWorkerHeartbeats`, instead of one full-keyspace SCAN walk per call per group; worker-key SCANs use `COUNT 1000`; job counts run alongside the heartbeat read; the transport pool queries its transports in parallel; and the queue/db transports' cached worker-key read coalesces concurrent misses. Response shapes, Redis keys and config are unchanged.
|
|
30
|
+
|
|
3
31
|
## 0.56.4
|
|
4
32
|
|
|
5
33
|
### Patch Changes
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.56.
|
|
2
|
+
export declare const VERSION = "0.56.5";
|
|
3
3
|
export type { AccessDeniedInfo, AccessDeniedPageOptions, AccessDeniedReason, } from './access_denied_page.js';
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
export type { AuthMode, DashboardAuthOptions, LoginHook, LoginOutcome, ResolvedDashboardAuth, SessionHook, SessionOutcome, } from './auth.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.56.
|
|
2
|
+
export const VERSION = '0.56.5';
|
|
3
3
|
// The built-in "access denied" page (what a browser sees on a refused page navigation).
|
|
4
4
|
export { CONSOLE as ACCESS_DENIED_CONSOLE, escapeHtml, renderAccessDeniedPage, resolveAccessDeniedPage, } from './access_denied_page.js';
|
|
5
5
|
// Built-in `dashboardAuth` login screen (optional; opt-in via `config/durable_dashboard.ts`).
|
package/dist/src/engine.d.ts
CHANGED
|
@@ -1237,11 +1237,34 @@ export declare class WorkflowEngine {
|
|
|
1237
1237
|
*/
|
|
1238
1238
|
private releaseStaleSelfLease;
|
|
1239
1239
|
/**
|
|
1240
|
-
*
|
|
1241
|
-
*
|
|
1242
|
-
*
|
|
1240
|
+
* {@link redispatchCrashedTurnSteps} for a `suspended` run a timer pass just leased, when the run as
|
|
1241
|
+
* listed shows the previous lease holder died holding it: a lease is released (both columns
|
|
1242
|
+
* cleared) by every path that ends normally, so one still set but lapsed is a holder that never
|
|
1243
|
+
* reached its release — a turn SIGKILLed mid-way, most likely. A resumed turn keeps the run
|
|
1244
|
+
* `suspended` while it executes, so this is the only trace such a crash leaves. Called with the
|
|
1245
|
+
* lease held; a failure is reported and does not stop the resume.
|
|
1243
1246
|
*/
|
|
1244
|
-
private
|
|
1247
|
+
private redispatchIfHolderCrashed;
|
|
1248
|
+
/**
|
|
1249
|
+
* Re-dispatch the remote steps a CRASHED turn of `run` wrote `pending` and may never have sent.
|
|
1250
|
+
*
|
|
1251
|
+
* A turn persists a step's `pending` checkpoint BEFORE handing the job to the transport (so a fast
|
|
1252
|
+
* result always finds it), then settles the run. A process that dies between the two leaves a
|
|
1253
|
+
* `pending` step no worker ever received — and every later turn replays straight back to "pending,
|
|
1254
|
+
* keep waiting" (re-dispatching on replay is the opt-in `remoteRedispatchMs`, because a step may
|
|
1255
|
+
* legitimately run longer than any window). Observed under a SIGKILLed pod: runs stuck forever.
|
|
1256
|
+
*
|
|
1257
|
+
* The caller holds the run's lease and has evidence the turn died; this narrows it to the steps
|
|
1258
|
+
* THAT turn wrote: the ones enqueued at or after the run's last settle (`updatedAt` — a turn that
|
|
1259
|
+
* ends normally settles after its dispatches, so a step it sent is always older than its settle).
|
|
1260
|
+
* `sinceInclusive` is for a run still `running`: its `updatedAt` is that same turn's start.
|
|
1261
|
+
*
|
|
1262
|
+
* Each step goes out again under its own `stepId` and attempt: a step whose original dispatch did
|
|
1263
|
+
* land runs twice (at-least-once, as documented), and the second result finds the checkpoint
|
|
1264
|
+
* settled and is dropped. Only on a crash — a healthy run never gets here. Remote (polyglot)
|
|
1265
|
+
* workflows are left to their own turn re-drive. Returns how many steps were sent.
|
|
1266
|
+
*/
|
|
1267
|
+
private redispatchCrashedTurnSteps;
|
|
1245
1268
|
/**
|
|
1246
1269
|
* Per-recovery bookkeeping (called once the lease is held): count the attempt, or — past
|
|
1247
1270
|
* `maxRecoveryAttempts` — move a poison pill to the `dead` dead-letter state. Returns a terminal
|
|
@@ -2091,6 +2114,27 @@ export declare class WorkflowEngine {
|
|
|
2091
2114
|
* the first fresh entry.
|
|
2092
2115
|
*/
|
|
2093
2116
|
private noteSettledHere;
|
|
2117
|
+
/**
|
|
2118
|
+
* Make the turn a settled step result owes its run DURABLE before the result is acknowledged.
|
|
2119
|
+
*
|
|
2120
|
+
* Settling a result does two things — settle the checkpoint, then resume the run — and only the
|
|
2121
|
+
* first is durable: the resume runs in the background, after the transport has acknowledged the
|
|
2122
|
+
* result. A pod SIGKILLed in between (or mid-way through the resumed turn, which keeps the run
|
|
2123
|
+
* `suspended` and so is invisible to the orphan sweep) left the run parked on whatever `wakeAt` its
|
|
2124
|
+
* last turn wrote — for a step that is the reconcile fallback, minutes out — with nothing else to
|
|
2125
|
+
* wake it: the result was already acknowledged, so no redelivery re-drives it.
|
|
2126
|
+
*
|
|
2127
|
+
* So pull the suspended run's timer in to one lease from now first. The resume this instance is
|
|
2128
|
+
* about to run re-parks the run (or settles it) and so overwrites it; if this instance dies before
|
|
2129
|
+
* that, every instance's due-timer poll resumes the run once the lease a dying turn may hold has
|
|
2130
|
+
* lapsed. Leased like any due run, so a live turn is never doubled — at worst a resume landing after
|
|
2131
|
+
* the timer replays and re-parks. Only pulls a timer IN (one already due sooner is kept), and only
|
|
2132
|
+
* for a `suspended` run: a run still `running` has its first turn holding the lease, which re-checks
|
|
2133
|
+
* the step on settling (see `recheckWaitSeqs`) and is recovered by the orphan sweep if it dies.
|
|
2134
|
+
*
|
|
2135
|
+
* Best-effort: a store that refuses the write leaves the run exactly where it was before.
|
|
2136
|
+
*/
|
|
2137
|
+
private markResumeOwed;
|
|
2094
2138
|
private resumeInBackground;
|
|
2095
2139
|
/**
|
|
2096
2140
|
* Settle a batch of one run's step results; per result, `true` (settled or dropped) or the error
|
|
@@ -2135,7 +2179,7 @@ export declare class WorkflowEngine {
|
|
|
2135
2179
|
private readCheckpoints;
|
|
2136
2180
|
/**
|
|
2137
2181
|
* The durable half of {@link completeRemoteResult}: settle `result` onto its checkpoint (or re-drive
|
|
2138
|
-
* the resume when a redelivered result finds it already settled). Returns the step's checkpoint as
|
|
2182
|
+
* the resume when a redelivered result finds it already settled). Returns the step's checkpoint (and its run) as
|
|
2139
2183
|
* read when its run should be resumed, or `undefined` when no resume is wanted (no checkpoint, or a
|
|
2140
2184
|
* late result for a terminal run — terminal is terminal).
|
|
2141
2185
|
*/
|
package/dist/src/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,gBAAgB,CAAC;AAgBjF,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAItB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAY5D,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAUnF,OAAO,EAAE,KAAK,iBAAiB,EAA0B,MAAM,0BAA0B,CAAC;AAE1F,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC1F,OAAO,KAAK,EAGV,YAAY,EAGZ,cAAc,EACd,WAAW,EAGX,cAAc,EAEd,WAAW,EACX,aAAa,EACb,aAAa,EACb,WAAW,EACX,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,sBAAsB,EAEtB,YAAY,EACZ,UAAU,EACV,cAAc,EAEd,SAAS,EAET,eAAe,EAMf,SAAS,EACT,YAAY,EACZ,eAAe,EAEf,WAAW,EAEX,gBAAgB,EAChB,WAAW,EAEZ,MAAM,iBAAiB,CAAC;AAIzB,OAAO,EAOL,KAAK,YAAY,EAIlB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAkB,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAmB,KAAK,WAAW,EAAU,MAAM,eAAe,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,YAAY,EAGjB,KAAK,SAAS,EACd,KAAK,gBAAgB,EAEtB,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAmB,KAAK,iBAAiB,EAAkB,MAAM,gBAAgB,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQhD,OAAO,EACL,KAAK,gBAAgB,EAGtB,MAAM,sBAAsB,CAAC;AAU9B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,WAAW,EAEjB,MAAM,mBAAmB,CAAC;AAE3B,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzE,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gGAAgG;IAChG,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;CAC5C;AAED,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mGAAmG;IACnG,MAAM,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;CACvC;AAED,6GAA6G;AAC7G,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,WAAW,CAAC;IACjB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,6FAA6F;IAC7F,WAAW,EAAE,OAAO,CAAC;IACrB,mFAAmF;IACnF,YAAY,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC;QACd,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,IAAI,CAAC;CACV;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IAChC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AA4SD,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,UAAU,CAAC;IAClB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IACxC,oEAAoE;IACpE,KAAK,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC;;;;;;;;;;;;;;;;OAgBG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,mGAAmG;IACnG,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,SAAS,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACzC;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC;;;;;;OAMG;IACH,0BAA0B,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChD;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;;;;;;;;OAWG;IACH,sBAAsB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IACrD;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACrD;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IAClE;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC;IAC9F;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,QAAQ,GAAG,WAAW,GAAG,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC;IAC/F;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,EAAE,GAAG,SAAS,CAAC;IACxD;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;IAC7C;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAC1C;;;;OAIG;IACH,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAChD;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,SAAS,CAAC;IAChF;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED,6FAA6F;AAC7F,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,cAGC;CACF;AAUD;;;;;GAKG;AACH,qBAAa,cAAc;;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAa;IACnC,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IACrC;kFAC8E;IAC9E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAA2B;IACzD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC;yFACqF;IACrF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;IACnC,yFAAyF;IACzF,QAAQ,CAAC,yBAAyB,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAqB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAS;IACpD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqB;IACtD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqB;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAA0C;IACtE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAyC;IACtE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0D;IACnF,4IAA4I;IAC5I,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsE;IAChG,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAS;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAEZ;IACd,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA0B;IAG5D,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAE3B;IACJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,0EAA0E;IAC1E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6C;IAI9E,wHAAwH;IACxH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAU;IACzC,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgB;IAC9C;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAU;IAChD;0GACsG;IACtG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,sGAAsG;IACtG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyC;IACnE,kFAAkF;IAClF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAyC;IAChE,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAChE,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IAGpC,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,wEAAwE;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoC;IAC5D,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAqC;IAClE;6BACyB;IACzB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAuD;IACvF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,mGAAmG;IACnG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAsC;IACtE,gGAAgG;IAChG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAsC;IACxE,yFAAyF;IACzF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyC;IACvE,yGAAyG;IACzG,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;IACxD,6EAA6E;IAC7E,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAsC;IACvE,wFAAwF;IACxF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,4EAA4E;IAC5E,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAA6D;IAKlG,mFAAmF;IACnF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmB;IAC7C,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAC/D;4FACwF;IACxF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;IACvD,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAClE;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAqB;IACnD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6C;IAC7E,oGAAoG;IACpG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAS9B;IACF;2DACuD;IACvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAA6B;IACpE,gGAAgG;IAChG,OAAO,CAAC,kBAAkB,CAAS;IACnC;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA8B;IACvD;;;;;;;;;OASG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA+B;IAC1D,uGAAuG;IACvG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IACtE,6GAA6G;IAC7G,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4C;IACxE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,kGAAkG;IAClG,OAAO,CAAC,eAAe,CAAoC;IAC3D,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,SAAS,CAGtB;IACJ,OAAO,CAAC,iBAAiB,CAAS;IAClC,iGAAiG;IACjG,OAAO,CAAC,kBAAkB,CAA4B;IACtD,OAAO,CAAC,kBAAkB,CAAK;IAC/B,8GAA8G;IAC9G,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoD;IACjF,2FAA2F;IAC3F,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAC7D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,+FAA+F;IAC/F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA6B;IACzD,2GAA2G;IAC3G,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,2FAA2F;IAC3F,OAAO,CAAC,YAAY,CAAK;IACzB,iGAAiG;IACjG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD,YAAY,IAAI,EAAE,kBAAkB,EA2OnC;IAED;;;;;OAKG;IACH,WAAW,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAO/C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IA8BnB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAoBlB;;;OAGG;IACH,OAAO,CAAC,SAAS;IAoCjB,qHAAqH;IACrH,OAAO,CAAC,oBAAoB;IAc5B;;;;;;OAMG;IACG,WAAW,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0C/D;IAED;;;;OAIG;YACW,IAAI;IAclB;;;;OAIG;IACH,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAE7D;IAED;;;;;;OAMG;IACH;;;;OAIG;IACH,cAAc,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAE5D;IAED;;;OAGG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEtD;IAED;;;;OAIG;IACG,aAAa,CAAC,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAwBvE;IAED;;;;OAIG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAYvD;IAED;;;;OAIG;IACG,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAOxF;IAED,iBAAiB,CAAC,SAAS,EAAE,SAAS,iBAAiB,EAAE,GAAG,IAAI,CAY/D;IAED,uGAAuG;IACvG,IAAI,mBAAmB,IAAI,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAE9D;IAED,uFAAuF;IACvF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAgC;IAEvE,sFAAsF;IACtF,qBAAqB,CAAC,QAAQ,EAAE,SAAS,sBAAsB,EAAE,GAAG,IAAI,CAEvE;IAED,6FAA6F;IAC7F,IAAI,uBAAuB,IAAI,SAAS,sBAAsB,EAAE,CAE/D;IAED,wFAAwF;IACxF,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhF;IAED,yGAAyG;IACzG;;;;;;;;OAQG;IACG,oBAAoB,CAAC,KAAK,SAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBvD;IAKD,2FAA2F;IACrF,gBAAgB,CAAC,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAIlE;IAED,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAE7E;IAED;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAGxD;IAED,mGAAmG;IACnG,OAAO,CAAC,eAAe;IAUvB;;;;OAIG;IACH,QAAQ,CACN,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,UAAU,EACd,IAAI,CAAC,EAAE;QACL,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC5B,SAAS,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;QACxC,oEAAoE;QACpE,WAAW,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;QAC5C,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;QAC/C,aAAa,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;QACvE,yGAAyG;QACzG,WAAW,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;QAC3C,kGAAkG;QAClG,sBAAsB,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;QAC5D,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAC/B,UAAU,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAC;QAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;QAChC;;;;;WAKG;QACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAC5B,oFAAoF;QACpF,OAAO,CAAC,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;QACrC,sFAAsF;QACtF,kBAAkB,CAAC,EAAE,WAAW,GAAG,SAAS,CAAC;QAC7C,qGAAqG;QACrG,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,CAAC;KACtC,GACA,IAAI,CAiCN;IAED;;;;;OAKG;IACH,cAAc,CACZ,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,EAAE,gBAAgB,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,CAAC,EAAE,eAAe,CAAC;QAC5B,WAAW,CAAC,EAAE,iBAAiB,CAAC;QAChC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QACnC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QACzD,yGAAyG;QACzG,WAAW,CAAC,EAAE,gBAAgB,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,oFAAoF;QACpF,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;QACzB,sFAAsF;QACtF,kBAAkB,CAAC,EAAE,WAAW,CAAC;KAClC,GACA,IAAI,CA6BN;IAED;;;;;OAKG;IACH,MAAM,CACJ,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QACxE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;KAC9B,GACA,IAAI,CAWN;IAED;;;;;;;;;;;;;;OAcG;YACW,wBAAwB;IAuBtC;;;;OAIG;IACH,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAEvC;IAED;oCACgC;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA2D;IAE7F;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;IAsCxB;mGAC+F;IAC/F,OAAO,CAAC,QAAQ,CAAC,eAAe,CAG5B;IACJ,OAAO,CAAC,eAAe,CAA4B;IAEnD;;;;;OAKG;YACW,eAAe;IAQ7B;;;;;;OAMG;IACH,cAAc,IAAI,IAAI,CAErB;IAED;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI,CAQ1C;IAED,sEAAsE;IACtE,SAAS,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,IAAI,CAG9C;IAED;;;;;OAKG;IACH,GAAG,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM,IAAI,CAM5C;IAED;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAarB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,MAAM,IAAI,CAGtD;IAED;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,MAAM,IAAI,CAGvD;IAED,OAAO,CAAC,UAAU;IAWlB;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IA0BvB;0FACsF;IACtF,OAAO,CAAC,IAAI;IAQZ,2GAA2G;IAC3G,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqB;IACvD,OAAO,CAAC,kBAAkB,CAAS;IAEnC;;;;;OAKG;YACW,eAAe;IAiC7B;wGACoG;IACpG,OAAO,CAAC,OAAO;IAUT,KAAK,CAAC,CAAC,SAAS,aAAa,EACjC,QAAQ,EAAE,CAAC,EACX,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,SAAS,CAAC,CAAC;IAChB,KAAK,CAAC,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC,SAAS,CAAC,CAAC;IAatB;;;;;;OAMG;YACW,SAAS;IA+IvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,UAAU;IA8ClB,mGAAmG;IACnG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAEjD;IAED;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAEhD;IAED;;;;;OAKG;IACH,cAAc,CACZ,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,aAAa,EACpB,IAAI,CAAC,EAAE,oBAAoB,GAC1B,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAK7B;IAED,yGAAyG;IACzG,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAExD;IAED;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAEtD;IAED;;;;OAIG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAEjF;IAED,0GAA0G;IAC1G,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAExF;IAED,OAAO,CAAC,YAAY;IAepB;;;;;OAKG;IACH;;;;;;;;;;;;;;;;;;OAkBG;IACG,oBAAoB,CACxB,GAAG,GAAE,MAAqB,EAC1B,QAAQ,GAAE,MAAiC,GAC1C,OAAO,CAAC,MAAM,CAAC,CA+CjB;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAG9D;IAED;;;OAGG;IACG,YAAY,CAAC,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA4DxE;IAED;;;;;OAKG;IACH,OAAO,CACL,QAAQ,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAClF,MAAM,IAAI,CAGZ;IAED;;;;;;;;;;OAUG;IACG,cAAc,CAAC,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAsFhE;IAED;;;;OAIG;YACW,0BAA0B;IAiBxC;;;;;OAKG;YACW,cAAc;IAgB5B,gGAAgG;YAClF,YAAY;IASpB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAW9C;IAED;;;;;OAKG;YACW,uBAAuB;IASrC;;;;;;;;;;;;;;;;OAgBG;IACG,SAAS,CACb,KAAK,EAAE,QAAQ,EACf,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GACtE,OAAO,CAAC,MAAM,CAAC,CAiDjB;IAED;;;OAGG;IACH,cAAc,CACZ,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAClD,OAAO,CAAC,MAAM,CAAC,CAEjB;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAExC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAKtB,uGAAuG;IACvG,OAAO,CAAC,cAAc;IAOtB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,SAAS;IAoCjB,4FAA4F;IAC5F,OAAO,CAAC,cAAc;YAWR,YAAY;IA6C1B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,eAAe;IAevB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAevB,kGAAkG;YACpF,iBAAiB;IAQ/B,qEAAqE;YACvD,iBAAiB;IAY/B;;;;;;;;OAQG;IACH,OAAO,CAAC,KAAK;IASb;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,OAAO,SAAI,GAAG,IAAI,CAU5B;IAED,uEAAuE;IACvE,UAAU,IAAI,OAAO,CAEpB;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,KAAK,CAAC,SAAS,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAgC7C;IAED,uDAAuD;YACzC,UAAU;IAiBxB;;;OAGG;YACW,oBAAoB;IAclC;;;;OAIG;IACG,aAAa,CAAC,GAAG,GAAE,MAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0D7D;IAED;;;OAGG;IACG,iBAAiB,CAAC,KAAK,GAAE,MAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CA2H1E;IAED;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,eAAe;IAMvB;;;;;;OAMG;YACW,qBAAqB;IAanC;;;;OAIG;YACW,kBAAkB;IAKhC;;;;;OAKG;YACW,aAAa;IAmC3B;;;;;;OAMG;IACG,eAAe,CAAC,KAAK,GAAE,MAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAUxE;IAED;;;;;OAKG;YACW,UAAU;IA+CxB;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAGrD;IAED;;;;;;OAMG;YACW,cAAc;IAqB5B;;;;;;OAMG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAuI3E;IAED;;;;;;;;;;OAUG;IACG,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,SAAS,GAAG;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC,CA8B7F;IAED;;;;OAIG;IACG,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC,CAQnC;IAED;;;;;OAKG;IACG,UAAU,CAAC,KAAK,GAAE,MAAqB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAKnE;IAED;;;;;;;;;;OAUG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CA2D/F;IAED;;;;;;;;;OASG;YACW,YAAY;IAqD1B;;;OAGG;IACH;;;;;;;;;;;;;;;;;;OAkBG;IACG,YAAY,CAChB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GACvC,OAAO,CAAC,MAAM,CAAC,CAsDjB;IAED;;;;OAIG;YACW,aAAa;IAqB3B;;;;;;;;;OASG;YACW,eAAe;IAQ7B;;;;;;;;;;;;;;OAcG;YACW,sBAAsB;IAgBpC;;;;;;;;;;;OAWG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAmBvE;IAED;;;;;OAKG;YACW,gBAAgB;IAK9B;;;;;;;OAOG;IACG,eAAe,CACnB,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,MAAM,EACb,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,EAC5C,IAAI,CAAC,EAAE,YAAY,GAClB,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAM5B;IAED;;;;OAIG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAK1F;IAED,6FAA6F;IACvF,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAEpF;IAED;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAiBpB;;;;OAIG;YACW,eAAe;IA2D7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IA6B1B;;;;;OAKG;YACW,qBAAqB;IAWnC;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CA6EtF;IAED;;;;;;;;OAQG;IACG,WAAW,CACf,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAC9B,OAAO,CAAC,SAAS,EAAE,CAAC,CAQtB;IAED;;;;;OAKG;YACW,cAAc;IAS5B;;;;;;;;;;;;OAYG;IACG,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAe3D;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzD;IAED;;;;OAIG;IACH,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAEnE;IAED;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjE;IAED;;;;;OAKG;IACG,kBAAkB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAEvD;IAED;;;;;;OAMG;IACG,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAepD;IAED;;;yGAGqG;IACrG,WAAW,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,MAAM,EAAE,CAM1C;IAED;;;;8EAI0E;IACpE,YAAY,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAM/D;IAED;;;;;;;;OAQG;YACW,gBAAgB;IAsD9B;;;;;;OAMG;YACW,SAAS;IA4BvB,oGAAoG;YACtF,YAAY;IA8B1B,oGAAoG;YACtF,QAAQ;IA8BtB;;;;;;;;;;;OAWG;YACW,WAAW;IAyCzB;;;;;;;;OAQG;YACW,oBAAoB;IAyBlC;;;;;OAKG;YACW,qBAAqB;IAWnC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;YAgBX,gBAAgB;YAuChB,OAAO;IAsFrB,4EAA4E;YAC9D,eAAe;IAS7B;;;;;OAKG;IACH;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,EAAE,CAAC,CAalF;IAED;;;;;;OAMG;YACW,eAAe;IAgC7B,mEAAmE;IACnE,OAAO,CAAC,aAAa;IASrB;;;;;;;;;OASG;YACW,YAAY;IAqD1B,uGAAuG;YACzF,kBAAkB;IAUhC;;;;OAIG;YACW,aAAa;IAyB3B;;;;;;OAMG;YACW,SAAS;IAsFvB;;;;;OAKG;YACW,iBAAiB;IAc/B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAKvB;;;;OAIG;IACH;;;;;OAKG;YACW,WAAW;YAYX,mBAAmB;YAoBnB,kBAAkB;IA2HhC;;;;;;OAMG;YACW,aAAa;IAiD3B;;;;;;;OAOG;YACW,kBAAkB;IAuChC;;;;OAIG;YACW,oBAAoB;IA6BlC;;;;OAIG;YACW,gBAAgB;IAM9B;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAuC5B,uFAAuF;IACvF,OAAO,CAAC,cAAc;IAStB;;;;;;;OAOG;YACW,sBAAsB;IAepC;;;OAGG;IACH,OAAO,CAAC,cAAc;IAmBtB,kGAAkG;YACpF,mBAAmB;IAyDjC;;;;;;OAMG;YACW,gBAAgB;IAsB9B;;;;;;;;;;;;OAYG;YACW,qBAAqB;IAoCnC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;YACW,eAAe;IA0E7B;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAKvB;yFACqF;IACrF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAG3B;IAEJ,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,mBAAmB;IAS3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;YACW,cAAc;IAS5B;uGACmG;YACrF,cAAc;IA4C5B,gGAAgG;YAClF,aAAa;IA2C3B;;;;;;yEAMqE;YACvD,aAAa;IAkP3B;;;;;;;OAOG;YACW,gBAAgB;IAQ9B;;;;;OAKG;YACW,mBAAmB;IAoCjC,6DAA6D;IAC7D;;;;;;;OAOG;YACW,SAAS;YAaT,YAAY;IA0M1B;;;;;;;;;;;;;OAaG;YACW,eAAe;IAqE7B;;;;;;;;;;;;OAYG;YACW,oBAAoB;IAyElC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IA6EhC;;wDAEoD;IACpD,OAAO,CAAC,UAAU;IAyFlB;;;;OAIG;IACG,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAKvD;IAED;;;;OAIG;IACG,QAAQ,CAAC,MAAM,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAcxF;IAED;;;;OAIG;IACH,uBAAuB,CAAC,IAAI,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,CAAC,IAAI,CAAC,GAC9B,IAAI,CAEN;IAED;;;;;OAKG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,YAAY,CAAC,CAc7E;IAMD;;;0FAGsF;YACxE,kBAAkB;IAUhC;;;;;;OAMG;YACW,SAAS;IASvB;;;6EAGyE;YAC3D,cAAc;IAK5B;;;;;;;;OAQG;YACW,WAAW;IA2BzB;;qGAEiG;YACnF,cAAc;YAiBd,UAAU;IA+OxB;;;;;;;;;;;OAWG;YACW,aAAa;IA4I3B;;;OAGG;IACH,OAAO,CAAC,aAAa;IAKrB,iGAAiG;YACnF,kBAAkB;IAYhC;;;;;;;;;;;OAWG;YACW,WAAW;IAsFzB;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;mFAC+E;IAC/E,OAAO,CAAC,iBAAiB;IAMzB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,yFAAyF;YAC3E,qBAAqB;IAMnC;;;;;;;;;OASG;IACH,OAAO,CAAC,oBAAoB;IAc5B,kGAAkG;YACpF,gBAAgB;IAyB9B,oGAAoG;YACtF,uBAAuB;IAWrC;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,kBAAkB;IAY1B;;;;;OAKG;YACW,qBAAqB;IAuInC;;;;;OAKG;YACW,wBAAwB;IAsBtC;;;;;OAKG;YACW,sBAAsB;IAiBpC;;;;;;OAMG;YACW,mBAAmB;IAajC;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAQpB;;;;OAIG;YACW,eAAe;IA+B7B;;;;;OAKG;YACW,sBAAsB;IA8EpC;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAQxB;;;;;;OAMG;YACW,gBAAgB;IAO9B,mGAAmG;YACrF,kBAAkB;IA0DhC,+FAA+F;YACjF,0BAA0B;IAiHxC,gGAAgG;YAClF,mBAAmB;IAuCjC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;CA6F3B;AAmCD,8EAA8E;AAC9E,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC3C,YAAY,SAAS,CAAC,EAAE,SAAS,EAIhC;CACF"}
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/src/engine.js
CHANGED
|
@@ -2597,8 +2597,22 @@ export class WorkflowEngine {
|
|
|
2597
2597
|
// the contract instead: park it `suspended` on the step's deadline or the reconcile timer. The
|
|
2598
2598
|
// worker's result resumes it; `resumeDueTimers` is the safety net. A LOST dispatch stays the job
|
|
2599
2599
|
// of `remoteRedispatchMs` / `redispatchPending`.
|
|
2600
|
-
|
|
2600
|
+
// The durable marker of work on the transport: a `pending` remote checkpoint is written before
|
|
2601
|
+
// the dispatch and settled by the result.
|
|
2602
|
+
const checkpoints = await this.store.listCheckpoints(run.id);
|
|
2603
|
+
const dispatched = checkpoints.find((cp) => cp.kind === 'remote' && cp.status === 'pending');
|
|
2601
2604
|
if (dispatched) {
|
|
2605
|
+
// `running` with a lapsed lease: the turn that wrote these checkpoints died before settling
|
|
2606
|
+
// the run, possibly before its dispatch reached the broker. Send what it may have lost.
|
|
2607
|
+
try {
|
|
2608
|
+
await this.redispatchCrashedTurnSteps(run, checkpoints, true);
|
|
2609
|
+
}
|
|
2610
|
+
catch (error) {
|
|
2611
|
+
// Not sent: leave the run `running` for the next pass rather than park it on a lost step.
|
|
2612
|
+
await this.store.releaseRunLock(run.id, this.instanceId).catch(() => undefined);
|
|
2613
|
+
console.error(`[adonis-durable] could not re-dispatch the steps of crashed run ${run.id}; retrying on a later tick:`, error);
|
|
2614
|
+
continue;
|
|
2615
|
+
}
|
|
2602
2616
|
// A REMOTE workflow reads `running` only while a turn is being computed or applied, so a free
|
|
2603
2617
|
// lease here means that turn was lost — the call in flight is not what the run waits on next.
|
|
2604
2618
|
// Park it on a near wake so the timer pass re-drives the turn promptly (never later than the
|
|
@@ -2693,13 +2707,83 @@ export class WorkflowEngine {
|
|
|
2693
2707
|
return released;
|
|
2694
2708
|
}
|
|
2695
2709
|
/**
|
|
2696
|
-
*
|
|
2697
|
-
*
|
|
2698
|
-
*
|
|
2710
|
+
* {@link redispatchCrashedTurnSteps} for a `suspended` run a timer pass just leased, when the run as
|
|
2711
|
+
* listed shows the previous lease holder died holding it: a lease is released (both columns
|
|
2712
|
+
* cleared) by every path that ends normally, so one still set but lapsed is a holder that never
|
|
2713
|
+
* reached its release — a turn SIGKILLed mid-way, most likely. A resumed turn keeps the run
|
|
2714
|
+
* `suspended` while it executes, so this is the only trace such a crash leaves. Called with the
|
|
2715
|
+
* lease held; a failure is reported and does not stop the resume.
|
|
2699
2716
|
*/
|
|
2700
|
-
async
|
|
2701
|
-
|
|
2702
|
-
|
|
2717
|
+
async redispatchIfHolderCrashed(listed, nowMs) {
|
|
2718
|
+
if (listed.status !== 'suspended')
|
|
2719
|
+
return;
|
|
2720
|
+
if (listed.lockedBy === undefined || listed.lockedUntil === undefined)
|
|
2721
|
+
return;
|
|
2722
|
+
if (listed.lockedUntil > nowMs)
|
|
2723
|
+
return;
|
|
2724
|
+
try {
|
|
2725
|
+
await this.redispatchCrashedTurnSteps(listed, await this.store.listCheckpoints(listed.id));
|
|
2726
|
+
}
|
|
2727
|
+
catch (error) {
|
|
2728
|
+
console.error(`[adonis-durable] could not re-dispatch the steps of run ${listed.id} after its lease holder died; its turn proceeds:`, error);
|
|
2729
|
+
}
|
|
2730
|
+
}
|
|
2731
|
+
/**
|
|
2732
|
+
* Re-dispatch the remote steps a CRASHED turn of `run` wrote `pending` and may never have sent.
|
|
2733
|
+
*
|
|
2734
|
+
* A turn persists a step's `pending` checkpoint BEFORE handing the job to the transport (so a fast
|
|
2735
|
+
* result always finds it), then settles the run. A process that dies between the two leaves a
|
|
2736
|
+
* `pending` step no worker ever received — and every later turn replays straight back to "pending,
|
|
2737
|
+
* keep waiting" (re-dispatching on replay is the opt-in `remoteRedispatchMs`, because a step may
|
|
2738
|
+
* legitimately run longer than any window). Observed under a SIGKILLed pod: runs stuck forever.
|
|
2739
|
+
*
|
|
2740
|
+
* The caller holds the run's lease and has evidence the turn died; this narrows it to the steps
|
|
2741
|
+
* THAT turn wrote: the ones enqueued at or after the run's last settle (`updatedAt` — a turn that
|
|
2742
|
+
* ends normally settles after its dispatches, so a step it sent is always older than its settle).
|
|
2743
|
+
* `sinceInclusive` is for a run still `running`: its `updatedAt` is that same turn's start.
|
|
2744
|
+
*
|
|
2745
|
+
* Each step goes out again under its own `stepId` and attempt: a step whose original dispatch did
|
|
2746
|
+
* land runs twice (at-least-once, as documented), and the second result finds the checkpoint
|
|
2747
|
+
* settled and is dropped. Only on a crash — a healthy run never gets here. Remote (polyglot)
|
|
2748
|
+
* workflows are left to their own turn re-drive. Returns how many steps were sent.
|
|
2749
|
+
*/
|
|
2750
|
+
async redispatchCrashedTurnSteps(run, checkpoints, sinceInclusive = false) {
|
|
2751
|
+
const registered = this.workflows.get(versionKey(run.workflow, run.workflowVersion)) ??
|
|
2752
|
+
this.latest.get(run.workflow);
|
|
2753
|
+
// No transport: nothing could have been dispatched, nothing can be sent again.
|
|
2754
|
+
if (registered?.remote || this.pool.size === 0)
|
|
2755
|
+
return 0;
|
|
2756
|
+
const since = run.updatedAt.getTime();
|
|
2757
|
+
const lost = checkpoints.filter((cp) => {
|
|
2758
|
+
if (cp.kind !== 'remote' || cp.status !== 'pending' || !cp.stepId)
|
|
2759
|
+
return false;
|
|
2760
|
+
const at = cp.enqueuedAt.getTime();
|
|
2761
|
+
return sinceInclusive ? at >= since : at > since;
|
|
2762
|
+
});
|
|
2763
|
+
for (const cp of lost) {
|
|
2764
|
+
await this.dispatchRemoteTask({
|
|
2765
|
+
runId: run.id,
|
|
2766
|
+
seq: cp.seq,
|
|
2767
|
+
name: cp.name,
|
|
2768
|
+
stepId: cp.stepId,
|
|
2769
|
+
group: cp.workerGroup ?? sanitizeQueueToken(cp.name),
|
|
2770
|
+
input: cp.input,
|
|
2771
|
+
attempt: cp.attempts,
|
|
2772
|
+
priority: run.priority,
|
|
2773
|
+
});
|
|
2774
|
+
this.emit({
|
|
2775
|
+
type: 'step.started',
|
|
2776
|
+
runId: run.id,
|
|
2777
|
+
seq: cp.seq,
|
|
2778
|
+
name: cp.name,
|
|
2779
|
+
kind: 'remote',
|
|
2780
|
+
redispatched: true,
|
|
2781
|
+
});
|
|
2782
|
+
}
|
|
2783
|
+
if (lost.length > 0) {
|
|
2784
|
+
console.warn(`[adonis-durable] re-dispatched ${lost.length} step(s) of run ${run.id} written by a turn that died before settling (a step that did reach a worker may run twice)`);
|
|
2785
|
+
}
|
|
2786
|
+
return lost.length;
|
|
2703
2787
|
}
|
|
2704
2788
|
/**
|
|
2705
2789
|
* Per-recovery bookkeeping (called once the lease is held): count the attempt, or — past
|
|
@@ -2789,6 +2873,7 @@ export class WorkflowEngine {
|
|
|
2789
2873
|
});
|
|
2790
2874
|
if (!claimed)
|
|
2791
2875
|
continue;
|
|
2876
|
+
await this.redispatchIfHolderCrashed(run, nowMs);
|
|
2792
2877
|
}
|
|
2793
2878
|
finally {
|
|
2794
2879
|
await this.store.releaseRunLock(run.id, this.instanceId);
|
|
@@ -3162,6 +3247,7 @@ export class WorkflowEngine {
|
|
|
3162
3247
|
return;
|
|
3163
3248
|
}
|
|
3164
3249
|
try {
|
|
3250
|
+
await this.redispatchIfHolderCrashed(run, nowMs);
|
|
3165
3251
|
// A per-run hook (recovery counting / dead-lettering) may settle the run terminally instead.
|
|
3166
3252
|
const settled = onLocked ? await onLocked(run) : undefined;
|
|
3167
3253
|
results.push(settled ?? (await this.resumeImplicit(run.id)));
|
|
@@ -6607,6 +6693,7 @@ export class WorkflowEngine {
|
|
|
6607
6693
|
traceparent,
|
|
6608
6694
|
context,
|
|
6609
6695
|
priority: opts.admission?.priority,
|
|
6696
|
+
lazyPickupBeat: true,
|
|
6610
6697
|
attempt: 1,
|
|
6611
6698
|
})), opts.transport);
|
|
6612
6699
|
// Awaited below; a rejection is not left unhandled while the next round is written.
|
|
@@ -6729,11 +6816,13 @@ export class WorkflowEngine {
|
|
|
6729
6816
|
}
|
|
6730
6817
|
/** The single-result path: settle `result`, then resume its run unless its fan is still running. */
|
|
6731
6818
|
async completeOneRemoteResult(result, queuedIn) {
|
|
6732
|
-
const
|
|
6733
|
-
if (
|
|
6819
|
+
const settled = await this.settleRemoteCheckpoint(result);
|
|
6820
|
+
if (settled === undefined)
|
|
6734
6821
|
return;
|
|
6822
|
+
const { cp, run } = settled;
|
|
6735
6823
|
if (await this.stepFanStillRunning(cp, result, queuedIn))
|
|
6736
6824
|
return;
|
|
6825
|
+
await this.markResumeOwed(run);
|
|
6737
6826
|
if (!parseStepFanGroup(cp.parallelGroup))
|
|
6738
6827
|
this.noteSettledHere(result.runId, [cp.seq]);
|
|
6739
6828
|
this.resumeInBackground(result.runId, fanWakeOf(cp, result));
|
|
@@ -6756,6 +6845,39 @@ export class WorkflowEngine {
|
|
|
6756
6845
|
this.settledHere.delete(key);
|
|
6757
6846
|
}
|
|
6758
6847
|
}
|
|
6848
|
+
/**
|
|
6849
|
+
* Make the turn a settled step result owes its run DURABLE before the result is acknowledged.
|
|
6850
|
+
*
|
|
6851
|
+
* Settling a result does two things — settle the checkpoint, then resume the run — and only the
|
|
6852
|
+
* first is durable: the resume runs in the background, after the transport has acknowledged the
|
|
6853
|
+
* result. A pod SIGKILLed in between (or mid-way through the resumed turn, which keeps the run
|
|
6854
|
+
* `suspended` and so is invisible to the orphan sweep) left the run parked on whatever `wakeAt` its
|
|
6855
|
+
* last turn wrote — for a step that is the reconcile fallback, minutes out — with nothing else to
|
|
6856
|
+
* wake it: the result was already acknowledged, so no redelivery re-drives it.
|
|
6857
|
+
*
|
|
6858
|
+
* So pull the suspended run's timer in to one lease from now first. The resume this instance is
|
|
6859
|
+
* about to run re-parks the run (or settles it) and so overwrites it; if this instance dies before
|
|
6860
|
+
* that, every instance's due-timer poll resumes the run once the lease a dying turn may hold has
|
|
6861
|
+
* lapsed. Leased like any due run, so a live turn is never doubled — at worst a resume landing after
|
|
6862
|
+
* the timer replays and re-parks. Only pulls a timer IN (one already due sooner is kept), and only
|
|
6863
|
+
* for a `suspended` run: a run still `running` has its first turn holding the lease, which re-checks
|
|
6864
|
+
* the step on settling (see `recheckWaitSeqs`) and is recovered by the orphan sweep if it dies.
|
|
6865
|
+
*
|
|
6866
|
+
* Best-effort: a store that refuses the write leaves the run exactly where it was before.
|
|
6867
|
+
*/
|
|
6868
|
+
async markResumeOwed(run) {
|
|
6869
|
+
if (run?.status !== 'suspended')
|
|
6870
|
+
return;
|
|
6871
|
+
const owedBy = this.clock() + this.leaseMs;
|
|
6872
|
+
if (run.wakeAt !== undefined && run.wakeAt <= owedBy)
|
|
6873
|
+
return;
|
|
6874
|
+
try {
|
|
6875
|
+
await this.store.updateRunIf(run.id, ['suspended'], { wakeAt: owedBy });
|
|
6876
|
+
}
|
|
6877
|
+
catch (err) {
|
|
6878
|
+
console.warn(`[adonis-durable] could not mark run ${run.id} as owed a resume (it recovers on its next reconcile wake): ${err instanceof Error ? err.message : String(err)}`);
|
|
6879
|
+
}
|
|
6880
|
+
}
|
|
6759
6881
|
resumeInBackground(runId, fan) {
|
|
6760
6882
|
this.trackEffect(this.resumeImplicit(runId, fan).catch((err) => {
|
|
6761
6883
|
console.warn(`[adonis-durable] background resume of run ${runId} failed (the run recovers on its next reconcile wake): ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -6876,6 +6998,7 @@ export class WorkflowEngine {
|
|
|
6876
6998
|
for (const { cp, result } of resumable) {
|
|
6877
6999
|
const fan = parseStepFanGroup(cp.parallelGroup);
|
|
6878
7000
|
if (!fan || result.status === 'failed') {
|
|
7001
|
+
await this.markResumeOwed(run);
|
|
6879
7002
|
this.noteSettledHere(runId, singles);
|
|
6880
7003
|
this.resumeInBackground(runId);
|
|
6881
7004
|
return outcomes;
|
|
@@ -6889,6 +7012,7 @@ export class WorkflowEngine {
|
|
|
6889
7012
|
barriers.set(fan.firstSeq, closed);
|
|
6890
7013
|
}
|
|
6891
7014
|
if (!(await closed)) {
|
|
7015
|
+
await this.markResumeOwed(run);
|
|
6892
7016
|
this.noteSettledHere(runId, singles);
|
|
6893
7017
|
this.resumeInBackground(runId, {
|
|
6894
7018
|
first: fan.firstSeq,
|
|
@@ -7000,7 +7124,7 @@ export class WorkflowEngine {
|
|
|
7000
7124
|
}
|
|
7001
7125
|
/**
|
|
7002
7126
|
* The durable half of {@link completeRemoteResult}: settle `result` onto its checkpoint (or re-drive
|
|
7003
|
-
* the resume when a redelivered result finds it already settled). Returns the step's checkpoint as
|
|
7127
|
+
* the resume when a redelivered result finds it already settled). Returns the step's checkpoint (and its run) as
|
|
7004
7128
|
* read when its run should be resumed, or `undefined` when no resume is wanted (no checkpoint, or a
|
|
7005
7129
|
* late result for a terminal run — terminal is terminal).
|
|
7006
7130
|
*/
|
|
@@ -7033,7 +7157,7 @@ export class WorkflowEngine {
|
|
|
7033
7157
|
// explicit `requeue`/`durable:retry`, never to a stray result.
|
|
7034
7158
|
if (cp.status !== 'pending') {
|
|
7035
7159
|
if (!terminal)
|
|
7036
|
-
return cp;
|
|
7160
|
+
return { cp, run };
|
|
7037
7161
|
return undefined;
|
|
7038
7162
|
}
|
|
7039
7163
|
// A result settling this step frees its flow-control slot (no-op if it wasn't queued). Released
|
|
@@ -7070,7 +7194,7 @@ export class WorkflowEngine {
|
|
|
7070
7194
|
if (typeof claim === 'object')
|
|
7071
7195
|
throw claim.error;
|
|
7072
7196
|
if (!claim)
|
|
7073
|
-
return terminal ? undefined : cp;
|
|
7197
|
+
return terminal ? undefined : { cp, run };
|
|
7074
7198
|
await this.releaseQueueSlot(cp);
|
|
7075
7199
|
this.emit({
|
|
7076
7200
|
type: result.status === 'completed' ? 'step.completed' : 'step.failed',
|
|
@@ -7083,7 +7207,7 @@ export class WorkflowEngine {
|
|
|
7083
7207
|
queueMs: startedAt.getTime() - cp.enqueuedAt.getTime(),
|
|
7084
7208
|
durationMs: finishedAt.getTime() - startedAt.getTime(),
|
|
7085
7209
|
});
|
|
7086
|
-
return cp;
|
|
7210
|
+
return { cp, run };
|
|
7087
7211
|
}
|
|
7088
7212
|
/**
|
|
7089
7213
|
* A slot freed on `queue` (a fleet-wide signal): resume this instance's runs blocked on it so they
|