@serfab/cadre-core 0.11.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/announce-addrs.d.ts +49 -0
  2. package/dist/announce-addrs.js +78 -0
  3. package/dist/announce-addrs.js.map +1 -0
  4. package/dist/cadre-node.d.ts +281 -30
  5. package/dist/cadre-node.js +513 -103
  6. package/dist/cadre-node.js.map +1 -1
  7. package/dist/control-database.d.ts +155 -23
  8. package/dist/control-database.js +272 -104
  9. package/dist/control-database.js.map +1 -1
  10. package/dist/control-read-retry.d.ts +103 -0
  11. package/dist/control-read-retry.js +145 -0
  12. package/dist/control-read-retry.js.map +1 -0
  13. package/dist/control-retry.d.ts +101 -0
  14. package/dist/control-retry.js +108 -0
  15. package/dist/control-retry.js.map +1 -0
  16. package/dist/control-schema.d.ts +1 -1
  17. package/dist/control-schema.js +20 -4
  18. package/dist/control-schema.js.map +1 -1
  19. package/dist/control-write-retry.d.ts +59 -35
  20. package/dist/control-write-retry.js +21 -92
  21. package/dist/control-write-retry.js.map +1 -1
  22. package/dist/delegate-admission.d.ts +17 -15
  23. package/dist/delegate-admission.js +17 -15
  24. package/dist/delegate-admission.js.map +1 -1
  25. package/dist/index.d.ts +6 -4
  26. package/dist/index.js +17 -8
  27. package/dist/index.js.map +1 -1
  28. package/dist/membership-connection-gater.d.ts +211 -25
  29. package/dist/membership-connection-gater.js +309 -29
  30. package/dist/membership-connection-gater.js.map +1 -1
  31. package/dist/peer-record.d.ts +26 -0
  32. package/dist/peer-record.js +32 -0
  33. package/dist/peer-record.js.map +1 -1
  34. package/dist/relay-addrs.d.ts +76 -26
  35. package/dist/relay-addrs.js +115 -27
  36. package/dist/relay-addrs.js.map +1 -1
  37. package/dist/relay-reservation.d.ts +20 -15
  38. package/dist/relay-reservation.js +18 -14
  39. package/dist/relay-reservation.js.map +1 -1
  40. package/dist/strand-addr-protocol.js +16 -0
  41. package/dist/strand-addr-protocol.js.map +1 -1
  42. package/dist/strand-backfill.js +13 -4
  43. package/dist/strand-backfill.js.map +1 -1
  44. package/dist/strand-formation-manager.d.ts +10 -9
  45. package/dist/strand-formation-manager.js +10 -9
  46. package/dist/strand-formation-manager.js.map +1 -1
  47. package/dist/strand-formation-protocol.d.ts +7 -7
  48. package/dist/strand-formation-protocol.js +8 -8
  49. package/dist/strand-formation-protocol.js.map +1 -1
  50. package/dist/strand-instance-manager.d.ts +4 -3
  51. package/dist/strand-instance-manager.js +31 -6
  52. package/dist/strand-instance-manager.js.map +1 -1
  53. package/dist/strand-membership-writer.d.ts +106 -14
  54. package/dist/strand-membership-writer.js +180 -14
  55. package/dist/strand-membership-writer.js.map +1 -1
  56. package/dist/strand-solicitation.d.ts +3 -3
  57. package/dist/strand-solicitation.js +4 -5
  58. package/dist/strand-solicitation.js.map +1 -1
  59. package/dist/strand-wake-protocol.d.ts +47 -2
  60. package/dist/strand-wake-protocol.js +76 -6
  61. package/dist/strand-wake-protocol.js.map +1 -1
  62. package/dist/types.d.ts +74 -29
  63. package/dist/types.js.map +1 -1
  64. package/package.json +8 -8
  65. package/src/announce-addrs.ts +93 -0
  66. package/src/cadre-node.ts +5603 -5158
  67. package/src/control-database.ts +2584 -2406
  68. package/src/control-read-retry.ts +167 -0
  69. package/src/control-retry.ts +190 -0
  70. package/src/control-schema.ts +20 -4
  71. package/src/control-write-retry.ts +30 -130
  72. package/src/delegate-admission.ts +17 -15
  73. package/src/index.ts +435 -407
  74. package/src/membership-connection-gater.ts +533 -204
  75. package/src/peer-record.ts +33 -0
  76. package/src/relay-addrs.ts +218 -111
  77. package/src/relay-reservation.ts +828 -823
  78. package/src/strand-addr-protocol.ts +17 -0
  79. package/src/strand-backfill.ts +389 -366
  80. package/src/strand-formation-manager.ts +492 -491
  81. package/src/strand-formation-protocol.ts +8 -8
  82. package/src/strand-instance-manager.ts +636 -611
  83. package/src/strand-membership-writer.ts +209 -14
  84. package/src/strand-solicitation.ts +6 -7
  85. package/src/strand-wake-protocol.ts +94 -8
  86. package/src/types.ts +74 -29
@@ -1 +1 @@
1
- {"version":3,"file":"control-database.js","sourceRoot":"","sources":["../src/control-database.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"control-database.js","sourceRoot":"","sources":["../src/control-database.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import type { ControlRetryOptions } from './control-retry.js';
2
+ /**
3
+ * Bounded retry for TRANSIENT control-read failures — the classifier and policy behind
4
+ * `ControlDatabase.readRows`, the single funnel every control read passes through.
5
+ *
6
+ * Why this exists: control WRITES have absorbed transient cluster failures since
7
+ * `control-write-retry.ts` landed, but a read had no second chance — one stream reset
8
+ * during a scan ended the read outright (measured: a rigged single `eval` failure killed
9
+ * `queryRevokedStamps` after exactly one attempt while the same injection against `exec`
10
+ * was absorbed). This module gives reads the same bounded re-presentation with a SHORTER
11
+ * deadline and a NARROWER failure set, because the tightest caller deadline over a control
12
+ * read is the inbound admission gate's 2 s fail-open timeout
13
+ * (`ADMISSION_DECISION_TIMEOUT_MS`, `membership-connection-gater.ts`) — a read budget that
14
+ * does not fit inside it with headroom spends its retries after the gate has already
15
+ * admitted.
16
+ *
17
+ * This is deliberately NOT "the write classifier minus its commit veto" — the retriable
18
+ * set differs in both directions (see {@link isRetriableControlReadFailure}). The loop
19
+ * lives in `control-retry.ts`, shared with the write policy; this module owns only the
20
+ * read policy. And like the write side, classification is by TEXT: optimystic's
21
+ * `OptimysticVirtualTable` catches every scan-path error and rethrows
22
+ * `new Error('Query failed: ' + message)` with NO `cause`
23
+ * (`quereus-plugin-optimystic/src/optimystic-module.ts`), so the typed
24
+ * `BlockUnavailableError` and its `reason` field are destroyed before they reach this
25
+ * repo; Quereus then wraps that as `Error during query on table '<T>': …` preserving
26
+ * `cause` (`quereus/src/runtime/emit/scan.ts`). Every matcher fails CLOSED — an upstream
27
+ * rewording stops the retry engaging, it never makes it unsafe.
28
+ */
29
+ /**
30
+ * Attempts allowed per control read: the first, plus two retries. Attempts are cheap here —
31
+ * the observed transient failure (the transactor's read-phase aggregate off a stream still
32
+ * forming) surfaces in ~25 ms — and {@link CONTROL_READ_RETRY_BUDGET_MS} is what terminates
33
+ * the loop when an attempt is slow instead.
34
+ */
35
+ export declare const CONTROL_READ_ATTEMPTS = 3;
36
+ /**
37
+ * Backoff before read retry N, jittered ±50% and capped at the largest base by the shared
38
+ * loop — so worst case 150 ms + 400 ms = 550 ms of total sleep (the second delay's
39
+ * upside jitter is clipped by the cap). Much shorter than the write list because the
40
+ * whole loop must fit under {@link CONTROL_READ_RETRY_BUDGET_MS}; the spec pins that
41
+ * relationship rather than the number.
42
+ */
43
+ export declare const CONTROL_READ_RETRY_DELAYS_MS: readonly number[];
44
+ /**
45
+ * Elapsed-time ceiling on the whole read-retry loop, checked after a failed attempt BEFORE
46
+ * sleeping — so one slow attempt (e.g. a `cohort-unreachable` read that burned the
47
+ * transactor's own deadline) terminates the loop rather than compounding.
48
+ *
49
+ * 1500 ms, sized against `ADMISSION_DECISION_TIMEOUT_MS` (2000 ms): the inbound admission
50
+ * gate reads the control DB and is FAIL-OPEN on both throw and timeout, so a read that
51
+ * outlives the gate's deadline spends its retries after the gate has already admitted an
52
+ * unplaced peer. Under the deadline, a read that succeeds on its second attempt lets the
53
+ * gate make the real decision instead. `control-read-retry.spec.ts` asserts the
54
+ * relationship so a future edit to either constant reddens instead of silently
55
+ * reintroducing the fail-open admit. NOTE: `queryCadrePeers` / `queryPeerRecord` each
56
+ * issue TWO network reads (the revoked-stamp filter plus the row scan) and the budget is
57
+ * per read, so a membership read can spend up to two budgets back to back — still inside
58
+ * 2 s only because each stays well under it. Do not raise these numbers without
59
+ * re-checking against `ADMISSION_DECISION_TIMEOUT_MS`.
60
+ */
61
+ export declare const CONTROL_READ_RETRY_BUDGET_MS = 1500;
62
+ /**
63
+ * Pacing overrides for {@link retryControlRead} — the read twin of
64
+ * `ControlWriteRetryOptions`. Every field defaults to the shipped read policy
65
+ * ({@link CONTROL_READ_ATTEMPTS}, {@link CONTROL_READ_RETRY_DELAYS_MS},
66
+ * {@link isRetriableControlReadFailure}); field shapes and semantics live on the shared
67
+ * {@link ControlRetryOptions}.
68
+ */
69
+ export type ControlReadRetryOptions = ControlRetryOptions;
70
+ /**
71
+ * Did this control read fail in a way a repeat read can improve on?
72
+ *
73
+ * Two classes, both meaning "the cluster could not be ASKED properly just now":
74
+ *
75
+ * - the transactor's read-phase aggregate (`Some peers did not complete: …[block:…]`),
76
+ * reused verbatim from the write classifier — a `get` batch formats the single-block
77
+ * `[block:` token, and a read can never produce the commit-phase `[blocks:` token, so
78
+ * the write side's indeterminate-commit veto has nothing to veto here (a read commits
79
+ * nothing and re-running it is always safe);
80
+ * - the block-unavailability reasons in {@link RETRIABLE_BLOCK_UNAVAILABLE} (and only
81
+ * those — see its comment for the measured exclusions).
82
+ *
83
+ * Classifies by MESSAGE, walking the `cause` chain with the shared `chainMessages`,
84
+ * because only text survives the trip out of optimystic (see the module comment).
85
+ * Anything that is not an `Error` is never retried.
86
+ */
87
+ export declare function isRetriableControlReadFailure(error: unknown): boolean;
88
+ /**
89
+ * Run `attempt` — a full drain of one control read — up to
90
+ * {@link CONTROL_READ_ATTEMPTS} times, retrying only failures
91
+ * {@link isRetriableControlReadFailure} calls transient, and only while
92
+ * {@link CONTROL_READ_RETRY_BUDGET_MS} has not elapsed.
93
+ *
94
+ * Reads are idempotent, so `attempt` needs no atomicity contract — but it must be a
95
+ * COLLECTING drain, not a live iterator: a half-consumed iterator cannot be retried
96
+ * without re-yielding rows the caller already saw, which is why
97
+ * `ControlDatabase.readRows` materializes before this loop ever sees a failure.
98
+ *
99
+ * On exhaustion the LAST error is rethrown unchanged. Log lines carry the
100
+ * `Control read [<label>] …` prefix so a read's retries can be attributed among the
101
+ * several reads in flight concurrently in a real party.
102
+ */
103
+ export declare function retryControlRead<T>(attempt: () => Promise<T>, options?: ControlReadRetryOptions): Promise<T>;
@@ -0,0 +1,145 @@
1
+ import { chainMessages, retryControlOperation } from './control-retry.js';
2
+ import { isUncommittedTransactorAggregate } from './control-write-retry.js';
3
+ /**
4
+ * Bounded retry for TRANSIENT control-read failures — the classifier and policy behind
5
+ * `ControlDatabase.readRows`, the single funnel every control read passes through.
6
+ *
7
+ * Why this exists: control WRITES have absorbed transient cluster failures since
8
+ * `control-write-retry.ts` landed, but a read had no second chance — one stream reset
9
+ * during a scan ended the read outright (measured: a rigged single `eval` failure killed
10
+ * `queryRevokedStamps` after exactly one attempt while the same injection against `exec`
11
+ * was absorbed). This module gives reads the same bounded re-presentation with a SHORTER
12
+ * deadline and a NARROWER failure set, because the tightest caller deadline over a control
13
+ * read is the inbound admission gate's 2 s fail-open timeout
14
+ * (`ADMISSION_DECISION_TIMEOUT_MS`, `membership-connection-gater.ts`) — a read budget that
15
+ * does not fit inside it with headroom spends its retries after the gate has already
16
+ * admitted.
17
+ *
18
+ * This is deliberately NOT "the write classifier minus its commit veto" — the retriable
19
+ * set differs in both directions (see {@link isRetriableControlReadFailure}). The loop
20
+ * lives in `control-retry.ts`, shared with the write policy; this module owns only the
21
+ * read policy. And like the write side, classification is by TEXT: optimystic's
22
+ * `OptimysticVirtualTable` catches every scan-path error and rethrows
23
+ * `new Error('Query failed: ' + message)` with NO `cause`
24
+ * (`quereus-plugin-optimystic/src/optimystic-module.ts`), so the typed
25
+ * `BlockUnavailableError` and its `reason` field are destroyed before they reach this
26
+ * repo; Quereus then wraps that as `Error during query on table '<T>': …` preserving
27
+ * `cause` (`quereus/src/runtime/emit/scan.ts`). Every matcher fails CLOSED — an upstream
28
+ * rewording stops the retry engaging, it never makes it unsafe.
29
+ */
30
+ /**
31
+ * Attempts allowed per control read: the first, plus two retries. Attempts are cheap here —
32
+ * the observed transient failure (the transactor's read-phase aggregate off a stream still
33
+ * forming) surfaces in ~25 ms — and {@link CONTROL_READ_RETRY_BUDGET_MS} is what terminates
34
+ * the loop when an attempt is slow instead.
35
+ */
36
+ export const CONTROL_READ_ATTEMPTS = 3;
37
+ /**
38
+ * Backoff before read retry N, jittered ±50% and capped at the largest base by the shared
39
+ * loop — so worst case 150 ms + 400 ms = 550 ms of total sleep (the second delay's
40
+ * upside jitter is clipped by the cap). Much shorter than the write list because the
41
+ * whole loop must fit under {@link CONTROL_READ_RETRY_BUDGET_MS}; the spec pins that
42
+ * relationship rather than the number.
43
+ */
44
+ export const CONTROL_READ_RETRY_DELAYS_MS = [100, 400];
45
+ /**
46
+ * Elapsed-time ceiling on the whole read-retry loop, checked after a failed attempt BEFORE
47
+ * sleeping — so one slow attempt (e.g. a `cohort-unreachable` read that burned the
48
+ * transactor's own deadline) terminates the loop rather than compounding.
49
+ *
50
+ * 1500 ms, sized against `ADMISSION_DECISION_TIMEOUT_MS` (2000 ms): the inbound admission
51
+ * gate reads the control DB and is FAIL-OPEN on both throw and timeout, so a read that
52
+ * outlives the gate's deadline spends its retries after the gate has already admitted an
53
+ * unplaced peer. Under the deadline, a read that succeeds on its second attempt lets the
54
+ * gate make the real decision instead. `control-read-retry.spec.ts` asserts the
55
+ * relationship so a future edit to either constant reddens instead of silently
56
+ * reintroducing the fail-open admit. NOTE: `queryCadrePeers` / `queryPeerRecord` each
57
+ * issue TWO network reads (the revoked-stamp filter plus the row scan) and the budget is
58
+ * per read, so a membership read can spend up to two budgets back to back — still inside
59
+ * 2 s only because each stays well under it. Do not raise these numbers without
60
+ * re-checking against `ADMISSION_DECISION_TIMEOUT_MS`.
61
+ */
62
+ export const CONTROL_READ_RETRY_BUDGET_MS = 1500;
63
+ /**
64
+ * The block-unavailability reasons a repeat read can actually improve on, matched against
65
+ * upstream's exact template `Block <id> is unavailable (<reason>): …`
66
+ * (`BlockUnavailableError`, `db-core/src/network/struct.ts`):
67
+ *
68
+ * - **`peers-unreachable`** — part of the cohort answered and part could not be asked, and
69
+ * OTHER coordinators are reachable, so asking one of them can still settle it. Upstream's
70
+ * own definition invites the second attempt.
71
+ * - **`cohort-unreachable`** — the marginal member of the set. Upstream says the answer
72
+ * will not improve until this node's connectivity does — but during bring-up connectivity
73
+ * DOES improve within a second (the boot-time failure shape recorded in
74
+ * `tickets/blocked/control-read-over-fresh-edge-stream-resets`), and the cost of being
75
+ * wrong is bounded by {@link CONTROL_READ_RETRY_BUDGET_MS}, which is the whole reason it
76
+ * is safe to include.
77
+ *
78
+ * Deliberately NOT matched:
79
+ *
80
+ * - **`claimed-elsewhere`** — a cohort peer positively claims the block exists and nobody
81
+ * could corroborate or acquire it. MEASURED not to clear: reissuing the same call every
82
+ * second for 60 s returned the identical error every time (2026-08-20, recorded in the
83
+ * fix ticket). Retrying spends the whole budget and fails anyway; the root cause is
84
+ * upstream and tracked by `tickets/blocked/block-held-by-only-one-machine-is-unreadable`
85
+ * — this retry must not paper over it.
86
+ * - **`unmaterializable`** — records are held locally but cannot be reassembled. A local
87
+ * data problem; a second read reads the same records.
88
+ * - **`Block <id> may be stale`** (`BlockPossiblyStaleError`) — about currency, not
89
+ * existence: a cohort claim no reachable coordinator could confirm or refute will not
90
+ * resolve inside a few hundred milliseconds of backoff.
91
+ * - Anything unmatched. The default is no retry.
92
+ */
93
+ const RETRIABLE_BLOCK_UNAVAILABLE = /Block \S+ is unavailable \((?:peers-unreachable|cohort-unreachable)\)/;
94
+ /** A block-unavailable read failure whose reason a repeat read can improve on. */
95
+ function isRetriableBlockUnavailable(message) {
96
+ return RETRIABLE_BLOCK_UNAVAILABLE.test(message);
97
+ }
98
+ /**
99
+ * Did this control read fail in a way a repeat read can improve on?
100
+ *
101
+ * Two classes, both meaning "the cluster could not be ASKED properly just now":
102
+ *
103
+ * - the transactor's read-phase aggregate (`Some peers did not complete: …[block:…]`),
104
+ * reused verbatim from the write classifier — a `get` batch formats the single-block
105
+ * `[block:` token, and a read can never produce the commit-phase `[blocks:` token, so
106
+ * the write side's indeterminate-commit veto has nothing to veto here (a read commits
107
+ * nothing and re-running it is always safe);
108
+ * - the block-unavailability reasons in {@link RETRIABLE_BLOCK_UNAVAILABLE} (and only
109
+ * those — see its comment for the measured exclusions).
110
+ *
111
+ * Classifies by MESSAGE, walking the `cause` chain with the shared `chainMessages`,
112
+ * because only text survives the trip out of optimystic (see the module comment).
113
+ * Anything that is not an `Error` is never retried.
114
+ */
115
+ export function isRetriableControlReadFailure(error) {
116
+ if (!(error instanceof Error)) {
117
+ return false;
118
+ }
119
+ return chainMessages(error).some(message => isUncommittedTransactorAggregate(message) || isRetriableBlockUnavailable(message));
120
+ }
121
+ /**
122
+ * Run `attempt` — a full drain of one control read — up to
123
+ * {@link CONTROL_READ_ATTEMPTS} times, retrying only failures
124
+ * {@link isRetriableControlReadFailure} calls transient, and only while
125
+ * {@link CONTROL_READ_RETRY_BUDGET_MS} has not elapsed.
126
+ *
127
+ * Reads are idempotent, so `attempt` needs no atomicity contract — but it must be a
128
+ * COLLECTING drain, not a live iterator: a half-consumed iterator cannot be retried
129
+ * without re-yielding rows the caller already saw, which is why
130
+ * `ControlDatabase.readRows` materializes before this loop ever sees a failure.
131
+ *
132
+ * On exhaustion the LAST error is rethrown unchanged. Log lines carry the
133
+ * `Control read [<label>] …` prefix so a read's retries can be attributed among the
134
+ * several reads in flight concurrently in a real party.
135
+ */
136
+ export function retryControlRead(attempt, options = {}) {
137
+ return retryControlOperation(attempt, {
138
+ attempts: CONTROL_READ_ATTEMPTS,
139
+ delaysMs: CONTROL_READ_RETRY_DELAYS_MS,
140
+ budgetMs: CONTROL_READ_RETRY_BUDGET_MS,
141
+ isRetriable: isRetriableControlReadFailure,
142
+ logPrefix: 'Control read',
143
+ }, options);
144
+ }
145
+ //# sourceMappingURL=control-read-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-read-retry.js","sourceRoot":"","sources":["../src/control-read-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE1E,OAAO,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAC;AAE5E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,IAAK,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,2BAA2B,GAChC,uEAAuE,CAAC;AAEzE,kFAAkF;AAClF,SAAS,2BAA2B,CAAC,OAAe;IACnD,OAAO,2BAA2B,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAWD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC3D,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC1C,gCAAgC,CAAC,OAAO,CAAC,IAAI,2BAA2B,CAAC,OAAO,CAAC,CAAC,CAAC;AACrF,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,gBAAgB,CAC/B,OAAyB,EACzB,UAAmC,EAAE;IAErC,OAAO,qBAAqB,CAAC,OAAO,EAAE;QACrC,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,4BAA4B;QACtC,QAAQ,EAAE,4BAA4B;QACtC,WAAW,EAAE,6BAA6B;QAC1C,SAAS,EAAE,cAAc;KACzB,EAAE,OAAO,CAAC,CAAC;AACb,CAAC"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * The bounded retry loop shared by the control plane's transient-failure policies:
3
+ * writes (`control-write-retry.ts`, behind `ControlDatabase.lockedWithRetry`) and reads
4
+ * (`control-read-retry.ts`, behind `ControlDatabase.readRows`). One loop, two policy
5
+ * modules — they differ in classifier, attempt count, backoff and elapsed budget, but the
6
+ * loop mechanics (jittered capped backoff, budget checked after a failed attempt BEFORE
7
+ * sleeping, last error rethrown unchanged) are deliberately identical so a fix to one
8
+ * cannot silently miss the other.
9
+ *
10
+ * The log prefix is part of the policy because the write funnel's lines are asserted
11
+ * byte-identically by `control-write-degraded-cohort-member.integration.ts` — extracting
12
+ * this loop must not move a single character of them.
13
+ */
14
+ /** A retry policy: what to retry, how often, and under which elapsed-time ceiling. */
15
+ export interface ControlRetryPolicy {
16
+ /** Total attempts, first included (floored at 1 by the loop). */
17
+ attempts: number;
18
+ /**
19
+ * Backoff base before retry N (last entry repeats), jittered ±50% — so the jitter can
20
+ * never floor a delay to zero — and each single sleep additionally capped at the
21
+ * LARGEST delay in the list, so a `stop()` racing a backoff is never held up longer
22
+ * than that. There is no `AbortSignal` at this seam to cancel a sleep outright; the
23
+ * cap is the substitute, deliberately not plumbing one through every call path.
24
+ */
25
+ delaysMs: readonly number[];
26
+ /**
27
+ * Elapsed-time ceiling on the whole loop, measured from the START of the first attempt
28
+ * and checked after a failed attempt BEFORE sleeping — so one slow attempt terminates
29
+ * the loop rather than compounding, and retry adds ZERO latency to the case where it
30
+ * cannot help.
31
+ */
32
+ budgetMs: number;
33
+ /** Which failures are transient enough to re-present. */
34
+ isRetriable: (error: unknown) => boolean;
35
+ /**
36
+ * Subject of every log line the loop emits (`<prefix>[ [<label>]] …`). Defaults to
37
+ * `'Control write'`, which keeps the write funnel's lines byte-identical to what it
38
+ * logged before this loop was shared out of `control-write-retry.ts`.
39
+ */
40
+ logPrefix?: string;
41
+ }
42
+ /**
43
+ * Per-call overrides applied over a policy. Production callers pass at most `label`
44
+ * (usually via the policy module's wrapper); specs inject a recorded `sleep`, a shorter
45
+ * delay list, or a fake clock so no test ever waits out a real backoff.
46
+ */
47
+ export interface ControlRetryOptions {
48
+ /**
49
+ * Total attempts, first included. Default: the policy's, floored at 1 — below that
50
+ * the loop would run the body zero times and rethrow a `lastError` nobody set.
51
+ */
52
+ attempts?: number;
53
+ /** Backoff base before retry N (last entry repeats). Default: the policy's. */
54
+ delaysMs?: readonly number[];
55
+ /** Which failures are transient enough to re-present. Default: the policy's classifier. */
56
+ isRetriable?: (error: unknown) => boolean;
57
+ /**
58
+ * Operation label stamped into every log line this loop emits (rendered as
59
+ * `<prefix> [<label>] …`), and NOTHING else — no behavioural effect. The debug log is
60
+ * the only surface where the loop's decisions are observable (the rethrown error is
61
+ * unchanged and no attempt counter is exposed), and several operations retry
62
+ * CONCURRENTLY in a real party, so an unlabelled line cannot be attributed. The
63
+ * degraded-cohort scenario asserts on the write funnel's lines per-operation.
64
+ */
65
+ label?: string;
66
+ /** The sleep primitive. Default: `setTimeout`. */
67
+ sleep?: (ms: number) => Promise<void>;
68
+ /** Clock for the elapsed-budget check. Default: `Date.now`. */
69
+ now?: () => number;
70
+ }
71
+ /**
72
+ * Run `attempt` up to the policy's attempt count, retrying only failures its classifier
73
+ * calls transient, and only while its elapsed budget has not run out.
74
+ *
75
+ * `attempt` must be safe to re-run — for writes that means atomic (a failed cluster write
76
+ * rolls back, nothing half-applies; the contract on `ControlDatabase.withWriteLock`), for
77
+ * reads it holds trivially. The backoff sleeps happen with NO lock held; a caller that
78
+ * locks takes and releases its lock inside `attempt`.
79
+ *
80
+ * On exhaustion (attempts or budget) the LAST error is rethrown unchanged — never
81
+ * wrapped, so the exact messages downstream code and the integration scenarios assert on
82
+ * survive. A non-retriable failure propagates from the attempt that raised it.
83
+ */
84
+ export declare function retryControlOperation<T>(attempt: () => Promise<T>, policy: ControlRetryPolicy, options?: ControlRetryOptions): Promise<T>;
85
+ /**
86
+ * Every message in the failure's `cause` chain — the shared substrate both classifiers
87
+ * match against, since the failures they care about are not recognisable by type (the
88
+ * typed errors are destroyed on the way out of optimystic; only text survives).
89
+ *
90
+ * `unwrapError` declares its `message` as `string`, but it follows `.cause` without checking
91
+ * what that holds — a chain link that is not an `Error` (a stream rejected with a bare string
92
+ * reason, an `AbortSignal.reason` that is a plain object) yields `undefined` there, and
93
+ * calling `.includes` on it would throw a `TypeError` out of a classifier, INSIDE
94
+ * {@link retryControlOperation}'s catch, replacing the real failure with a confusing one.
95
+ * Non-strings are dropped: a link nobody can read is a link that matches nothing, which is
96
+ * already the conservative answer.
97
+ *
98
+ * NOTE: a cause chain with a CYCLE would spin forever inside `unwrapError` itself. No error
99
+ * in this repo builds one; if a hang ever localises to a control retry path, look there.
100
+ */
101
+ export declare function chainMessages(error: Error): string[];
@@ -0,0 +1,108 @@
1
+ import debug from 'debug';
2
+ import { unwrapError } from '@quereus/quereus';
3
+ const log = debug('sereus:cadre:control-db');
4
+ /**
5
+ * Run `attempt` up to the policy's attempt count, retrying only failures its classifier
6
+ * calls transient, and only while its elapsed budget has not run out.
7
+ *
8
+ * `attempt` must be safe to re-run — for writes that means atomic (a failed cluster write
9
+ * rolls back, nothing half-applies; the contract on `ControlDatabase.withWriteLock`), for
10
+ * reads it holds trivially. The backoff sleeps happen with NO lock held; a caller that
11
+ * locks takes and releases its lock inside `attempt`.
12
+ *
13
+ * On exhaustion (attempts or budget) the LAST error is rethrown unchanged — never
14
+ * wrapped, so the exact messages downstream code and the integration scenarios assert on
15
+ * survive. A non-retriable failure propagates from the attempt that raised it.
16
+ */
17
+ export async function retryControlOperation(attempt, policy, options = {}) {
18
+ const attempts = Math.max(1, options.attempts ?? policy.attempts);
19
+ const delays = options.delaysMs ?? policy.delaysMs;
20
+ const isRetriable = options.isRetriable ?? policy.isRetriable;
21
+ const sleep = options.sleep ?? defaultSleep;
22
+ const now = options.now ?? Date.now;
23
+ const prefix = policy.logPrefix ?? 'Control write';
24
+ // Empty when unlabelled, so an unlabelled line is byte-identical to what the write
25
+ // loop logged before labels existed.
26
+ const tag = options.label ? ` [${options.label}]` : '';
27
+ const start = now();
28
+ let lastError;
29
+ let attemptsMade = 0;
30
+ for (let attemptNumber = 1; attemptNumber <= attempts; attemptNumber++) {
31
+ attemptsMade = attemptNumber;
32
+ try {
33
+ const result = await attempt();
34
+ if (attemptNumber > 1) {
35
+ log('%s%s committed on attempt %d/%d', prefix, tag, attemptNumber, attempts);
36
+ }
37
+ return result;
38
+ }
39
+ catch (error) {
40
+ if (!isRetriable(error)) {
41
+ // The ONLY trace that this funnel saw a failure and declined it. Without it the
42
+ // log is silent either way, so "the classifier vetoed this one" is
43
+ // indistinguishable from "the retry is not wired into this path at all".
44
+ log('%s%s failed non-transiently on attempt %d/%d, not retried here: %s', prefix, tag, attemptNumber, attempts, error);
45
+ throw error;
46
+ }
47
+ lastError = error;
48
+ if (attemptNumber === attempts) {
49
+ break;
50
+ }
51
+ const elapsed = now() - start;
52
+ if (elapsed >= policy.budgetMs) {
53
+ break;
54
+ }
55
+ const delay = jitteredDelay(delays, attemptNumber);
56
+ log('%s%s failed transiently (attempt %d/%d), retrying in %d ms: %s', prefix, tag, attemptNumber, attempts, delay, error);
57
+ await sleep(delay);
58
+ }
59
+ }
60
+ log('%s%s failed after %d/%d attempt(s): %s', prefix, tag, attemptsMade, attempts, lastError);
61
+ throw lastError;
62
+ }
63
+ /**
64
+ * Every message in the failure's `cause` chain — the shared substrate both classifiers
65
+ * match against, since the failures they care about are not recognisable by type (the
66
+ * typed errors are destroyed on the way out of optimystic; only text survives).
67
+ *
68
+ * `unwrapError` declares its `message` as `string`, but it follows `.cause` without checking
69
+ * what that holds — a chain link that is not an `Error` (a stream rejected with a bare string
70
+ * reason, an `AbortSignal.reason` that is a plain object) yields `undefined` there, and
71
+ * calling `.includes` on it would throw a `TypeError` out of a classifier, INSIDE
72
+ * {@link retryControlOperation}'s catch, replacing the real failure with a confusing one.
73
+ * Non-strings are dropped: a link nobody can read is a link that matches nothing, which is
74
+ * already the conservative answer.
75
+ *
76
+ * NOTE: a cause chain with a CYCLE would spin forever inside `unwrapError` itself. No error
77
+ * in this repo builds one; if a hang ever localises to a control retry path, look there.
78
+ */
79
+ export function chainMessages(error) {
80
+ return unwrapError(error)
81
+ .map(({ message }) => message)
82
+ .filter(message => typeof message === 'string');
83
+ }
84
+ /**
85
+ * Backoff for the retry that follows attempt `attemptNumber`: the matching base delay
86
+ * (last entry repeats), jittered ±50%, then capped at the list's largest base so no single
87
+ * sleep exceeds it (see {@link ControlRetryPolicy.delaysMs} for why). `Math.random` is
88
+ * fine here — the jitter only de-synchronizes concurrent retriers, nothing is derived
89
+ * from it.
90
+ *
91
+ * NOTE: the cap bites on the LAST delay, whose base IS the largest, so ~half of those sleeps
92
+ * land exactly on the cap rather than spread — de-synchronization is only partial there.
93
+ * Harmless while retriers are a handful of party nodes whose attempts already start seconds
94
+ * apart; if a party ever retries in a tight synchronized herd, raise the cap above the
95
+ * largest base instead of jittering about it.
96
+ */
97
+ function jitteredDelay(delays, attemptNumber) {
98
+ if (delays.length === 0) {
99
+ return 0;
100
+ }
101
+ const base = delays[Math.min(attemptNumber - 1, delays.length - 1)];
102
+ const jittered = base * (0.5 + Math.random());
103
+ return Math.min(jittered, Math.max(...delays));
104
+ }
105
+ function defaultSleep(ms) {
106
+ return new Promise(resolve => setTimeout(resolve, ms));
107
+ }
108
+ //# sourceMappingURL=control-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-retry.js","sourceRoot":"","sources":["../src/control-retry.ts"],"names":[],"mappings":"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"}