@cello-protocol/daemon 0.0.208 → 0.0.210
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/agent-handlers.d.ts.map +1 -1
- package/dist/agent-handlers.js +2 -1
- package/dist/agent-handlers.js.map +1 -1
- package/dist/attendance-wiring.js +2 -2
- package/dist/attendance-wiring.js.map +1 -1
- package/dist/bin/cello-daemon.js +11 -1
- package/dist/bin/cello-daemon.js.map +1 -1
- package/dist/boot-agents.d.ts.map +1 -1
- package/dist/boot-agents.js +5 -5
- package/dist/boot-agents.js.map +1 -1
- package/dist/close-session-handler.d.ts.map +1 -1
- package/dist/close-session-handler.js +26 -3
- package/dist/close-session-handler.js.map +1 -1
- package/dist/connect-or-start.js +8 -2
- package/dist/connect-or-start.js.map +1 -1
- package/dist/content-park.d.ts.map +1 -1
- package/dist/content-park.js +5 -3
- package/dist/content-park.js.map +1 -1
- package/dist/log-collapse.d.ts +66 -0
- package/dist/log-collapse.d.ts.map +1 -0
- package/dist/log-collapse.js +244 -0
- package/dist/log-collapse.js.map +1 -0
- package/dist/log-rotate.d.ts +67 -0
- package/dist/log-rotate.d.ts.map +1 -0
- package/dist/log-rotate.js +134 -0
- package/dist/log-rotate.js.map +1 -0
- package/dist/outbound-sessions.d.ts.map +1 -1
- package/dist/outbound-sessions.js +28 -0
- package/dist/outbound-sessions.js.map +1 -1
- package/dist/park-recovery.d.ts +3 -2
- package/dist/park-recovery.d.ts.map +1 -1
- package/dist/park-recovery.js +3 -2
- package/dist/park-recovery.js.map +1 -1
- package/dist/refusal-reasons.d.ts +46 -0
- package/dist/refusal-reasons.d.ts.map +1 -1
- package/dist/refusal-reasons.js +44 -0
- package/dist/refusal-reasons.js.map +1 -1
- package/dist/relay-only.d.ts +9 -2
- package/dist/relay-only.d.ts.map +1 -1
- package/dist/relay-only.js +9 -2
- package/dist/relay-only.js.map +1 -1
- package/dist/restart-seal-resolver.d.ts.map +1 -1
- package/dist/restart-seal-resolver.js +13 -0
- package/dist/restart-seal-resolver.js.map +1 -1
- package/dist/session-ceremony.d.ts +17 -0
- package/dist/session-ceremony.d.ts.map +1 -1
- package/dist/session-ceremony.js +77 -1
- package/dist/session-ceremony.js.map +1 -1
- package/dist/session-content-send.js +12 -11
- package/dist/session-content-send.js.map +1 -1
- package/dist/session-lifecycle.d.ts.map +1 -1
- package/dist/session-lifecycle.js +36 -0
- package/dist/session-lifecycle.js.map +1 -1
- package/dist/session-node-factory.js +4 -4
- package/dist/session-node-factory.js.map +1 -1
- package/dist/session-node-manager.d.ts +7 -2
- package/dist/session-node-manager.d.ts.map +1 -1
- package/dist/session-node-manager.js +22 -6
- package/dist/session-node-manager.js.map +1 -1
- package/dist/session-node-types.d.ts +40 -13
- package/dist/session-node-types.d.ts.map +1 -1
- package/dist/session-node-types.js +18 -0
- package/dist/session-node-types.js.map +1 -1
- package/dist/session-relay-client.d.ts +21 -0
- package/dist/session-relay-client.d.ts.map +1 -1
- package/dist/session-relay-client.js +219 -3
- package/dist/session-relay-client.js.map +1 -1
- package/dist/session-relay.d.ts +15 -1
- package/dist/session-relay.d.ts.map +1 -1
- package/dist/session-relay.js +290 -161
- package/dist/session-relay.js.map +1 -1
- package/dist/signaling-connect.d.ts.map +1 -1
- package/dist/signaling-connect.js +23 -4
- package/dist/signaling-connect.js.map +1 -1
- package/dist/signaling-wiring.js +7 -7
- package/dist/signaling-wiring.js.map +1 -1
- package/dist/standing-receivers.d.ts +53 -14
- package/dist/standing-receivers.d.ts.map +1 -1
- package/dist/standing-receivers.js +551 -544
- package/dist/standing-receivers.js.map +1 -1
- package/dist/trust-signal-sweep-tick.d.ts +15 -0
- package/dist/trust-signal-sweep-tick.d.ts.map +1 -1
- package/dist/trust-signal-sweep-tick.js +19 -2
- package/dist/trust-signal-sweep-tick.js.map +1 -1
- package/dist/trust-signal-sweep.d.ts +16 -1
- package/dist/trust-signal-sweep.d.ts.map +1 -1
- package/dist/trust-signal-sweep.js +12 -10
- package/dist/trust-signal-sweep.js.map +1 -1
- package/dist/types.d.ts +18 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-or-start.js","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"connect-or-start.js","sourceRoot":"","sources":["../src/connect-or-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAwD,MAAM,0BAA0B,CAAC;AAYnH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,eAAe,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,iBAAiB,CAAC;CACpH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"content-park.d.ts","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAwD,MAAM,0BAA0B,CAAC;AAYnH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,WAAW,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,eAAe,EAAE,qBAAqB,CAAC;IACvC;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,iBAAiB,CAAC;CACpH;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,eAAe;qCAozBP,MAAM,uBAA4B,OAAO,CAAC,IAAI,CAAC;iCAkEzD,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,KAAG,IAAI;6CA1sBhD;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,eACpC,MAAM,cACP,MAAM,EAAE,KACnB,OAAO,CACN;QAAE,EAAE,EAAE,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC;YAAE,WAAW,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,GAG7I;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CACnD;EAkjCF"}
|
package/dist/content-park.js
CHANGED
|
@@ -776,9 +776,11 @@ export function createContentPark(deps) {
|
|
|
776
776
|
/**
|
|
777
777
|
* DOD-PARK-DRAIN-1 (review F1): one drain per agent at a time, and at most one re-run queued.
|
|
778
778
|
*
|
|
779
|
-
* The drain used to have two triggers; it now has five (agent start, receiver install,
|
|
780
|
-
*
|
|
781
|
-
*
|
|
779
|
+
* The drain used to have two triggers; it now has five (agent start, receiver install, a
|
|
780
|
+
* reservation LOST, a reservation REGAINED, signaling reconnect, the periodic backstop — the
|
|
781
|
+
* middle pair replaced "every watchdog rebuild" in 056-SLOTDEAD, which is where the count came
|
|
782
|
+
* from). Under the relay churn this unit exists to survive, those arrive faster than a drain
|
|
783
|
+
* completes. Concurrent drains are
|
|
782
784
|
* NOT safe by dedup alone: ingestReceivedContent decides "already present" synchronously from
|
|
783
785
|
* the in-memory tree and then AWAITS the security gateway before appending, so two drains that
|
|
784
786
|
* pull the same parked entry can both pass that check and both append — a duplicate leaf, the
|
package/dist/content-park.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content-park.js","sourceRoot":"","sources":["../src/content-park.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Logger } from "./types.js";
|
|
2
|
+
/**
|
|
3
|
+
* DOD-M15-LOGBOUND-1 part A — write a repeating log line ONCE, then count it.
|
|
4
|
+
*
|
|
5
|
+
* The file that produced this order was 180 MB and 469,065 lines. 168 MB of it — 95% — was a
|
|
6
|
+
* single `session.key.announce.failed` line repeated 413,590 times, byte-identical apart from its
|
|
7
|
+
* timestamp, from a retry that never gave up.
|
|
8
|
+
*
|
|
9
|
+
* **The disk was the smaller half.** That loop hid behind its own output for eleven hours. A file
|
|
10
|
+
* that is 95% one sentence is not a diagnostic surface; it is a haystack the daemon builds around
|
|
11
|
+
* its own needle, faster than anyone can read it.
|
|
12
|
+
*
|
|
13
|
+
* **This is the rule `045-REFUSALSTORM` applies to the operator's inbox, one layer down.** Same
|
|
14
|
+
* idea in two places, not two mechanisms.
|
|
15
|
+
*
|
|
16
|
+
* ⚠️ **This makes a storm cheap. It does not make a storm correct.** The loops themselves are
|
|
17
|
+
* fixed by `045-REFUSALSTORM` and `DOD-M15-KEYANNOUNCE-LOOP-1`; this unit must not be cited as
|
|
18
|
+
* covering either.
|
|
19
|
+
*
|
|
20
|
+
* ## The gate is a RATE, not a count — and the first build got this wrong
|
|
21
|
+
*
|
|
22
|
+
* The obvious design suppresses everything after the first occurrence and re-reports at the 10th,
|
|
23
|
+
* 100th, 1,000th. It was built that way, and review found two defects in it that matter more than
|
|
24
|
+
* the bytes it saved:
|
|
25
|
+
*
|
|
26
|
+
* 1. **A bounded retry that failed three times printed one line.** Three is not a power of ten, so
|
|
27
|
+
* attempts two and three were dropped and nothing anywhere ever said they happened. An operator
|
|
28
|
+
* whose standing receiver cannot bind then reads one `session.node.create.failed` followed by
|
|
29
|
+
* `session.standing_receiver.dead`, and cannot tell a retry that ran from a retry that never
|
|
30
|
+
* fired — which is the first thing they would go and check.
|
|
31
|
+
* 2. **A chronic failure went permanently silent.** A run never expired, so something failing once
|
|
32
|
+
* an hour reached its 10th occurrence on day one and was next written on day four. The daemon
|
|
33
|
+
* stopped reporting an ongoing failure precisely because it had been failing for a long time.
|
|
34
|
+
*
|
|
35
|
+
* So nothing is suppressed until a key is genuinely FLOODING: more than {@link STORM_BURST}
|
|
36
|
+
* occurrences inside {@link STORM_WINDOW_MS}. Below that rate every line is written exactly as it
|
|
37
|
+
* was before this unit existed. The measured storm ran at 4–17 lines/second and trips the gate on
|
|
38
|
+
* its 21st line; an ordinary two-to-nine repeat never trips it at all, and neither does a slow
|
|
39
|
+
* chronic failure — which is how both defects above stay fixed rather than traded against each
|
|
40
|
+
* other.
|
|
41
|
+
*/
|
|
42
|
+
/** Occurrences of one key inside one window that mean "this is a flood, not a repeat". */
|
|
43
|
+
export declare const STORM_BURST = 20;
|
|
44
|
+
/** The window the burst is measured over. Also the idle period that ENDS a storm. */
|
|
45
|
+
export declare const STORM_WINDOW_MS = 10000;
|
|
46
|
+
/**
|
|
47
|
+
* Bound on the table. Without one, the thing that removes an unbounded log would itself be an
|
|
48
|
+
* unbounded map — the same defect one layer further in.
|
|
49
|
+
*
|
|
50
|
+
* Eviction is least-recently-USED, and that is load-bearing rather than tidy. Plenty of events
|
|
51
|
+
* carry a value unique to the occurrence — a fresh root hash, a content hash, a peer id — so in
|
|
52
|
+
* ordinary operation the table is mostly keys that will never be seen again. Under
|
|
53
|
+
* insertion-order eviction the one key the table exists to hold, the one being hit thousands of
|
|
54
|
+
* times a second, is evicted on the same schedule as keys that are read once; the count resets and
|
|
55
|
+
* the single number that made the storm diagnosable is destroyed. Under LRU a never-repeating key
|
|
56
|
+
* is always the oldest and is always the first to go.
|
|
57
|
+
*/
|
|
58
|
+
export declare const LOG_COLLAPSE_MAX_KEYS = 2048;
|
|
59
|
+
/**
|
|
60
|
+
* Wrap a logger so a FLOODING line is written once and then counted.
|
|
61
|
+
*
|
|
62
|
+
* Wrapping the composition root covers every call site at once, which is what makes this a
|
|
63
|
+
* property of the daemon's logging rather than a discipline each call site has to remember.
|
|
64
|
+
*/
|
|
65
|
+
export declare function createCollapsingLogger(sink: Logger, now?: () => number): Logger;
|
|
66
|
+
//# sourceMappingURL=log-collapse.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-collapse.d.ts","sourceRoot":"","sources":["../src/log-collapse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,0FAA0F;AAC1F,eAAO,MAAM,WAAW,KAAK,CAAC;AAE9B,qFAAqF;AACrF,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AA0E1C;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,MAAiB,GAAG,MAAM,CAyIzF"}
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-M15-LOGBOUND-1 part A — write a repeating log line ONCE, then count it.
|
|
3
|
+
*
|
|
4
|
+
* The file that produced this order was 180 MB and 469,065 lines. 168 MB of it — 95% — was a
|
|
5
|
+
* single `session.key.announce.failed` line repeated 413,590 times, byte-identical apart from its
|
|
6
|
+
* timestamp, from a retry that never gave up.
|
|
7
|
+
*
|
|
8
|
+
* **The disk was the smaller half.** That loop hid behind its own output for eleven hours. A file
|
|
9
|
+
* that is 95% one sentence is not a diagnostic surface; it is a haystack the daemon builds around
|
|
10
|
+
* its own needle, faster than anyone can read it.
|
|
11
|
+
*
|
|
12
|
+
* **This is the rule `045-REFUSALSTORM` applies to the operator's inbox, one layer down.** Same
|
|
13
|
+
* idea in two places, not two mechanisms.
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ **This makes a storm cheap. It does not make a storm correct.** The loops themselves are
|
|
16
|
+
* fixed by `045-REFUSALSTORM` and `DOD-M15-KEYANNOUNCE-LOOP-1`; this unit must not be cited as
|
|
17
|
+
* covering either.
|
|
18
|
+
*
|
|
19
|
+
* ## The gate is a RATE, not a count — and the first build got this wrong
|
|
20
|
+
*
|
|
21
|
+
* The obvious design suppresses everything after the first occurrence and re-reports at the 10th,
|
|
22
|
+
* 100th, 1,000th. It was built that way, and review found two defects in it that matter more than
|
|
23
|
+
* the bytes it saved:
|
|
24
|
+
*
|
|
25
|
+
* 1. **A bounded retry that failed three times printed one line.** Three is not a power of ten, so
|
|
26
|
+
* attempts two and three were dropped and nothing anywhere ever said they happened. An operator
|
|
27
|
+
* whose standing receiver cannot bind then reads one `session.node.create.failed` followed by
|
|
28
|
+
* `session.standing_receiver.dead`, and cannot tell a retry that ran from a retry that never
|
|
29
|
+
* fired — which is the first thing they would go and check.
|
|
30
|
+
* 2. **A chronic failure went permanently silent.** A run never expired, so something failing once
|
|
31
|
+
* an hour reached its 10th occurrence on day one and was next written on day four. The daemon
|
|
32
|
+
* stopped reporting an ongoing failure precisely because it had been failing for a long time.
|
|
33
|
+
*
|
|
34
|
+
* So nothing is suppressed until a key is genuinely FLOODING: more than {@link STORM_BURST}
|
|
35
|
+
* occurrences inside {@link STORM_WINDOW_MS}. Below that rate every line is written exactly as it
|
|
36
|
+
* was before this unit existed. The measured storm ran at 4–17 lines/second and trips the gate on
|
|
37
|
+
* its 21st line; an ordinary two-to-nine repeat never trips it at all, and neither does a slow
|
|
38
|
+
* chronic failure — which is how both defects above stay fixed rather than traded against each
|
|
39
|
+
* other.
|
|
40
|
+
*/
|
|
41
|
+
/** Occurrences of one key inside one window that mean "this is a flood, not a repeat". */
|
|
42
|
+
export const STORM_BURST = 20;
|
|
43
|
+
/** The window the burst is measured over. Also the idle period that ENDS a storm. */
|
|
44
|
+
export const STORM_WINDOW_MS = 10_000;
|
|
45
|
+
/**
|
|
46
|
+
* Bound on the table. Without one, the thing that removes an unbounded log would itself be an
|
|
47
|
+
* unbounded map — the same defect one layer further in.
|
|
48
|
+
*
|
|
49
|
+
* Eviction is least-recently-USED, and that is load-bearing rather than tidy. Plenty of events
|
|
50
|
+
* carry a value unique to the occurrence — a fresh root hash, a content hash, a peer id — so in
|
|
51
|
+
* ordinary operation the table is mostly keys that will never be seen again. Under
|
|
52
|
+
* insertion-order eviction the one key the table exists to hold, the one being hit thousands of
|
|
53
|
+
* times a second, is evicted on the same schedule as keys that are read once; the count resets and
|
|
54
|
+
* the single number that made the storm diagnosable is destroyed. Under LRU a never-repeating key
|
|
55
|
+
* is always the oldest and is always the first to go.
|
|
56
|
+
*/
|
|
57
|
+
export const LOG_COLLAPSE_MAX_KEYS = 2048;
|
|
58
|
+
/** Separator for key parts. A control character cannot appear in an event name or a field value. */
|
|
59
|
+
const SEP = String.fromCharCode(31);
|
|
60
|
+
/**
|
|
61
|
+
* The collapse key.
|
|
62
|
+
*
|
|
63
|
+
* ⚠️ **IT MUST NOT BE LOOSER THAN event + session + reason**, and it is exactly that. Keying on the
|
|
64
|
+
* event name alone would merge a hundred sessions failing once each into one line reading "x100" —
|
|
65
|
+
* strictly worse than the noise this removes, because a fan-out is the shape you most need to see
|
|
66
|
+
* and it would be reported as a repeat. The level is in the key too: the same event at `warn` and
|
|
67
|
+
* at `error` is two facts.
|
|
68
|
+
*
|
|
69
|
+
* **And it is deliberately NOT the whole payload**, which is the second thing the first build got
|
|
70
|
+
* wrong. Keying on every field looked tighter and therefore safer, and it is neither:
|
|
71
|
+
*
|
|
72
|
+
* - `session.key.announce.failed` — the very event this unit was written for — carries an `attempt`
|
|
73
|
+
* counter. Every attempt is a different payload, so a full-payload key collapses NOTHING on the
|
|
74
|
+
* one path that produced 168 MB. The historical storm only collapsed because the pre-fix bug
|
|
75
|
+
* pinned `attempt` at 1; the fix that made the retry chain correct is what would have defeated it.
|
|
76
|
+
* - A loop minting a fresh key per iteration also churns the whole table at the rate it runs,
|
|
77
|
+
* evicting every other run in it.
|
|
78
|
+
*
|
|
79
|
+
* The cost of the looser key is paid elsewhere rather than ignored: because suppression is gated on
|
|
80
|
+
* a RATE, a payload field that changes between occurrences is written in full at any ordinary rate,
|
|
81
|
+
* and is only folded once the key is genuinely flooding — at which point a count and a rate are
|
|
82
|
+
* more use than ten thousand individual values. Milestones republish the most recent payload, so
|
|
83
|
+
* the newest values stay on the record.
|
|
84
|
+
*
|
|
85
|
+
* Returns `null` when the key cannot be built from what the call site passed. **Such a line does
|
|
86
|
+
* not collapse at all** — losing the saving is correct where losing the distinction is not.
|
|
87
|
+
*/
|
|
88
|
+
function collapseKey(level, event, ctx) {
|
|
89
|
+
const sessionId = ctx["sessionId"];
|
|
90
|
+
const reason = ctx["reason"];
|
|
91
|
+
if (typeof sessionId !== "string" && typeof reason !== "string")
|
|
92
|
+
return null;
|
|
93
|
+
return [level, event, String(sessionId ?? ""), String(reason ?? "")].join(SEP);
|
|
94
|
+
}
|
|
95
|
+
/** First occurrence, then the 10th, 100th, 1,000th — a power of ten. */
|
|
96
|
+
function isMilestone(count) {
|
|
97
|
+
if (count === 1)
|
|
98
|
+
return true;
|
|
99
|
+
let n = count;
|
|
100
|
+
while (n % 10 === 0)
|
|
101
|
+
n /= 10;
|
|
102
|
+
return n === 1;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Wrap a logger so a FLOODING line is written once and then counted.
|
|
106
|
+
*
|
|
107
|
+
* Wrapping the composition root covers every call site at once, which is what makes this a
|
|
108
|
+
* property of the daemon's logging rather than a discipline each call site has to remember.
|
|
109
|
+
*/
|
|
110
|
+
export function createCollapsingLogger(sink, now = Date.now) {
|
|
111
|
+
const runs = new Map();
|
|
112
|
+
/**
|
|
113
|
+
* Report a fold that has ended: how many lines it swallowed, and over how long.
|
|
114
|
+
*
|
|
115
|
+
* ⚠️ **THE WINDOW IS MEASURED TO THE LAST OCCURRENCE, NOT TO NOW**, and getting that wrong made
|
|
116
|
+
* this line state the opposite of what happened. A flood of 479 lines over 25 seconds — 19 a
|
|
117
|
+
* second — was reported as `repeatWindowMs: 21623950`, six hours, because the idle gap that
|
|
118
|
+
* proved the flood was over had already been folded into the elapsed time. An operator dividing
|
|
119
|
+
* those two numbers reads 1.3 an hour: a trickle, when it was the storm.
|
|
120
|
+
*/
|
|
121
|
+
function closeRun(run) {
|
|
122
|
+
sink[run.level](run.event, {
|
|
123
|
+
...run.lastCtx,
|
|
124
|
+
repeatedCount: run.suppressedCount,
|
|
125
|
+
repeatWindowMs: Math.max(0, run.lastAtMs - run.suppressStartMs),
|
|
126
|
+
repeatEnded: true,
|
|
127
|
+
});
|
|
128
|
+
run.suppressing = false;
|
|
129
|
+
run.suppressedCount = 0;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* One amortised look at the oldest run per line written.
|
|
133
|
+
*
|
|
134
|
+
* Without it a fold that simply STOPS is never reported: the closing line is emitted by the
|
|
135
|
+
* key's own next occurrence, and a storm whose cause is fixed — or whose daemon is shut down —
|
|
136
|
+
* has no next occurrence. The measured 413,590-line storm would have ended on
|
|
137
|
+
* `repeatedCount: 100000`, understating itself fourfold, with nothing saying it had finished.
|
|
138
|
+
*/
|
|
139
|
+
function sweepOldest(at, currentKey) {
|
|
140
|
+
const oldest = runs.entries().next();
|
|
141
|
+
if (oldest.done)
|
|
142
|
+
return;
|
|
143
|
+
const [key, run] = oldest.value;
|
|
144
|
+
if (key === currentKey)
|
|
145
|
+
return;
|
|
146
|
+
if (at - run.lastAtMs < STORM_WINDOW_MS)
|
|
147
|
+
return;
|
|
148
|
+
if (run.suppressing)
|
|
149
|
+
closeRun(run);
|
|
150
|
+
runs.delete(key);
|
|
151
|
+
}
|
|
152
|
+
function emit(level, event, ctx) {
|
|
153
|
+
const key = collapseKey(level, event, ctx);
|
|
154
|
+
if (key === null) {
|
|
155
|
+
sink[level](event, ctx);
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const at = now();
|
|
159
|
+
sweepOldest(at, key);
|
|
160
|
+
const existing = runs.get(key);
|
|
161
|
+
if (existing === undefined) {
|
|
162
|
+
if (runs.size >= LOG_COLLAPSE_MAX_KEYS) {
|
|
163
|
+
const oldest = runs.entries().next();
|
|
164
|
+
if (!oldest.done) {
|
|
165
|
+
// Evicting a run mid-fold would take its total with it and restart the next occurrence
|
|
166
|
+
// from one. Over-reporting is the safe direction; losing the count is not.
|
|
167
|
+
if (oldest.value[1].suppressing)
|
|
168
|
+
closeRun(oldest.value[1]);
|
|
169
|
+
runs.delete(oldest.value[0]);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
runs.set(key, {
|
|
173
|
+
level, event, windowStartMs: at, lastAtMs: at, windowCount: 1,
|
|
174
|
+
suppressing: false, suppressStartMs: 0, suppressedCount: 0, lastCtx: ctx,
|
|
175
|
+
});
|
|
176
|
+
sink[level](event, ctx);
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
// Least-recently-USED: re-inserting moves this key to the young end of the eviction order.
|
|
180
|
+
runs.delete(key);
|
|
181
|
+
runs.set(key, existing);
|
|
182
|
+
/**
|
|
183
|
+
* A gap longer than a window means the flood has stopped — measured from the PREVIOUS
|
|
184
|
+
* occurrence, never from the window's own tally. Reading the tally was the first version of
|
|
185
|
+
* this and it could never end a storm: during one, the count carried over from the last
|
|
186
|
+
* window is high by definition, so the "has it died down" test was never true.
|
|
187
|
+
*/
|
|
188
|
+
const idle = at - existing.lastAtMs >= STORM_WINDOW_MS;
|
|
189
|
+
if (idle) {
|
|
190
|
+
if (existing.suppressing)
|
|
191
|
+
closeRun(existing);
|
|
192
|
+
existing.windowStartMs = at;
|
|
193
|
+
existing.windowCount = 0;
|
|
194
|
+
}
|
|
195
|
+
else if (at - existing.windowStartMs >= STORM_WINDOW_MS) {
|
|
196
|
+
/**
|
|
197
|
+
* ⚠️ A FULL WINDOW PASSED WITH TRAFFIC — so re-test the RATE, do not just roll the window.
|
|
198
|
+
* Without this, `suppressing` latches: the only exit is a ten-second silence, so a retry
|
|
199
|
+
* that starts fast and backs off to anything under one line per ten seconds stays folded
|
|
200
|
+
* forever. Measured on the built module: 30 lines in 3 seconds trips the gate, and the next
|
|
201
|
+
* 1,200 occurrences spread over three hours produce three lines. That is the chronic-failure
|
|
202
|
+
* silence this redesign was written to remove, re-entered through a different door.
|
|
203
|
+
*/
|
|
204
|
+
if (existing.suppressing && existing.windowCount <= STORM_BURST)
|
|
205
|
+
closeRun(existing);
|
|
206
|
+
existing.windowStartMs = at;
|
|
207
|
+
existing.windowCount = 0;
|
|
208
|
+
}
|
|
209
|
+
existing.lastAtMs = at;
|
|
210
|
+
existing.windowCount += 1;
|
|
211
|
+
if (existing.suppressing) {
|
|
212
|
+
existing.lastCtx = ctx;
|
|
213
|
+
existing.suppressedCount += 1;
|
|
214
|
+
// The 1st suppressed occurrence is not a milestone worth printing — the line that tripped
|
|
215
|
+
// the gate, immediately above it, already said the fold had started.
|
|
216
|
+
if (existing.suppressedCount === 1 || !isMilestone(existing.suppressedCount))
|
|
217
|
+
return;
|
|
218
|
+
sink[level](event, {
|
|
219
|
+
...ctx,
|
|
220
|
+
repeatedCount: existing.suppressedCount,
|
|
221
|
+
repeatWindowMs: Math.max(0, at - existing.suppressStartMs),
|
|
222
|
+
});
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
if (existing.windowCount > STORM_BURST) {
|
|
226
|
+
// The gate trips. This line is still written in full, and says that the ones behind it
|
|
227
|
+
// will not be — an operator should never have to infer that lines are being dropped.
|
|
228
|
+
existing.suppressing = true;
|
|
229
|
+
existing.suppressStartMs = at;
|
|
230
|
+
existing.suppressedCount = 0;
|
|
231
|
+
existing.lastCtx = ctx;
|
|
232
|
+
sink[level](event, { ...ctx, repeatsCollapsing: true, repeatRatePerWindow: existing.windowCount });
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
sink[level](event, ctx);
|
|
236
|
+
}
|
|
237
|
+
return {
|
|
238
|
+
debug: (event, ctx) => { emit("debug", event, ctx); },
|
|
239
|
+
info: (event, ctx) => { emit("info", event, ctx); },
|
|
240
|
+
warn: (event, ctx) => { emit("warn", event, ctx); },
|
|
241
|
+
error: (event, ctx) => { emit("error", event, ctx); },
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
//# sourceMappingURL=log-collapse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-collapse.js","sourceRoot":"","sources":["../src/log-collapse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOD-M15-LOGBOUND-1 part B — bound `daemon.log` by rotating it at SPAWN.
|
|
3
|
+
*
|
|
4
|
+
* **The daemon does not own its log file, and that constraint decides the whole design.**
|
|
5
|
+
* `spawnDaemon` does `openSync(logPath, "a")` and hands that descriptor to the child as stdout
|
|
6
|
+
* and stderr. The daemon therefore writes to a file *handle*, not to a path: renaming the file
|
|
7
|
+
* underneath it moves nothing, because the handle follows the inode and the daemon carries on
|
|
8
|
+
* filling the renamed file.
|
|
9
|
+
*
|
|
10
|
+
* So the spawner is the only party that can rotate cleanly, and spawn is the only moment at
|
|
11
|
+
* which nothing holds the handle. That is why this is here and not in the daemon, and it is why
|
|
12
|
+
* {@link openLogHandle} does both steps in one function — the rotate-then-open ORDER is the
|
|
13
|
+
* property, and a property split across two call sites is a property waiting to be reversed.
|
|
14
|
+
*
|
|
15
|
+
* **⚠️ WHAT THIS DOES NOT BOUND, and it is the machines that need it most.** Rotation fires only
|
|
16
|
+
* on the `connectOrStart` path, which is how an operator's CLI starts the daemon. The demo box and
|
|
17
|
+
* the Hermes box start it under systemd, running `dist/bin/cello-daemon.js` directly — that path
|
|
18
|
+
* never reaches here, so **those two long-lived daemons are not bounded by this at all**. They are
|
|
19
|
+
* also the ones that run for weeks without restarting, which is the case
|
|
20
|
+
* `052-LOGCEILING` covers (suggested post-launch, not yet ruled). Stated here rather than left to
|
|
21
|
+
* be discovered, because "rotation shipped" would otherwise read as a bound that those machines have.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* Cap for the live file: 64 MB. With one previous generation kept, the ceiling across restarts
|
|
25
|
+
* is 128 MB.
|
|
26
|
+
*
|
|
27
|
+
* A starting point rather than a finding. For scale: the measured file was 180 MB, of which 168 MB
|
|
28
|
+
* was one repeated line that part A of this unit now collapses, and the ordinary remainder grew at
|
|
29
|
+
* roughly 3 MB/day under heavy development.
|
|
30
|
+
*/
|
|
31
|
+
export declare const LOG_ROTATE_CAP_BYTES: number;
|
|
32
|
+
/** What a rotation attempt did, so the caller can put it on the record either way. */
|
|
33
|
+
export type RotateOutcome = {
|
|
34
|
+
rotated: true;
|
|
35
|
+
bytes: number;
|
|
36
|
+
rotatedTo: string;
|
|
37
|
+
} | {
|
|
38
|
+
rotated: false;
|
|
39
|
+
reason: "under_cap" | "absent" | "raced" | "failed";
|
|
40
|
+
error?: string;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Rename `logPath` to `logPath.1` if it is over `capBytes`, replacing any older `.1`.
|
|
44
|
+
*
|
|
45
|
+
* **Never throws**, and that is a contract rather than defensiveness: a daemon that refuses to
|
|
46
|
+
* start because it could not tidy its log would be a strictly worse outcome than an oversized log.
|
|
47
|
+
* It reports what happened instead of being silent about it — see {@link openLogHandle}, which is
|
|
48
|
+
* where the reporting lands.
|
|
49
|
+
*
|
|
50
|
+
* **It never truncates.** A truncation of the live file either races the writer or throws away
|
|
51
|
+
* the tail, and the tail is the only part anyone reads.
|
|
52
|
+
*/
|
|
53
|
+
export declare function rotateLogIfOversized(logPath: string, capBytes?: number): RotateOutcome;
|
|
54
|
+
/**
|
|
55
|
+
* Rotate if needed, THEN open the log for append and return the descriptor.
|
|
56
|
+
*
|
|
57
|
+
* The ordering is the point. Open first and the rename moves only the name, leaving the daemon
|
|
58
|
+
* writing into the renamed inode — the rotation would appear to work and bound nothing.
|
|
59
|
+
*
|
|
60
|
+
* **The outcome is written as the first line of the fresh file**, because the alternative is a log
|
|
61
|
+
* that starts mid-story. Someone sent a 4 MB `daemon.log` to chase a failure that began before the
|
|
62
|
+
* restart has no way to know that `daemon.log.1` exists unless the file says so. And a rotation
|
|
63
|
+
* that FAILED has to say so loudest of all: it means the bound this unit ships does not exist on
|
|
64
|
+
* this machine, and nothing else would ever mention it.
|
|
65
|
+
*/
|
|
66
|
+
export declare function openLogHandle(logPath: string, capBytes?: number): number;
|
|
67
|
+
//# sourceMappingURL=log-rotate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log-rotate.d.ts","sourceRoot":"","sources":["../src/log-rotate.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,QAAmB,CAAC;AAerD,sFAAsF;AACtF,MAAM,MAAM,aAAa,GACrB;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5F;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,aAAa,CAkC5G;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,MAA6B,GAAG,MAAM,CAiB9F"}
|