@cotal-ai/delivery 0.72.1 → 0.76.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.
- package/dist/delivery.d.ts +6 -9
- package/dist/delivery.d.ts.map +1 -1
- package/dist/delivery.js +39 -49
- package/dist/delivery.js.map +1 -1
- package/dist/feedback-intake.js +9 -1
- package/dist/feedback-intake.js.map +1 -1
- package/dist/sys-creds.d.ts.map +1 -1
- package/dist/sys-creds.js +4 -4
- package/dist/sys-creds.js.map +1 -1
- package/dist/watchdog.d.ts +10 -184
- package/dist/watchdog.d.ts.map +1 -1
- package/dist/watchdog.js +12 -200
- package/dist/watchdog.js.map +1 -1
- package/package.json +3 -3
package/dist/delivery.d.ts
CHANGED
|
@@ -7,13 +7,6 @@ import type { HostedContextInputs, HostedServiceHandle } from "@cotal-ai/workspa
|
|
|
7
7
|
* the key — the key is per-space — so a hosted store must be keyed with the builder; the flat kind
|
|
8
8
|
* is the pre-P7 key and putting there leaves this daemon reading an empty location. */
|
|
9
9
|
export { DELIVERY_CREDS_KIND, deliveryCredsKey };
|
|
10
|
-
type CredsSource = {
|
|
11
|
-
store: SecretStore;
|
|
12
|
-
key: string;
|
|
13
|
-
where: string;
|
|
14
|
-
injected: boolean;
|
|
15
|
-
identity: SecretStoreIdentity;
|
|
16
|
-
};
|
|
17
10
|
/**
|
|
18
11
|
* The store identity THIS daemon will re-read on `reloadCreds`. It is the same store
|
|
19
12
|
* `resolveCredsStore` returns: an injected coordinate, a `--creds` file that is
|
|
@@ -23,8 +16,12 @@ type CredsSource = {
|
|
|
23
16
|
* Naming an ancestor via `findCotalRoot` would certify a two-root composition
|
|
24
17
|
* as a same-store proof.
|
|
25
18
|
*/
|
|
26
|
-
export declare function reloadStoreIdentityOf(src:
|
|
27
|
-
|
|
19
|
+
export declare function reloadStoreIdentityOf(src: {
|
|
20
|
+
injected: true;
|
|
21
|
+
store: SecretStore;
|
|
22
|
+
} | {
|
|
23
|
+
injected: false;
|
|
24
|
+
identity: SecretStoreIdentity;
|
|
28
25
|
}): SecretStoreIdentity;
|
|
29
26
|
/**
|
|
30
27
|
* Identity of the store a `--creds` file is reloaded from.
|
package/dist/delivery.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"AAEA,OAAO,EAqBL,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,mBAAmB,EAEzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAsF,gBAAgB,EAAsP,MAAM,qBAAqB,CAAC;AAKpZ,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAIxG;;;;wFAIwF;AACxF,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,CAAC;AAOjD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,EAAE,mBAAmB,CAAA;CAAE,GAC/F,mBAAmB,CAErB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,mBAAmB,CActG;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAWhF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACvD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yFAAyF;IACzF,GAAG,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;CAChC,GAAG,IAAI,CASP;AAiJD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,IAAI,CAkBzE;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtF;AAED;gGACgG;AAChG,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA0BpG"}
|
package/dist/delivery.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { existsSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { basename, dirname, join, resolve } from "node:path";
|
|
3
|
-
import { CotalEndpoint, DEFAULT_SERVER, LEASE_TTL_MS, accountFromCreds, credsClaims, deliveryBucket, dialerFor, idFromCreds, isCasLoss, isPermissionDenied, isReachable, leaseKey, mintCreds, newIdentity, parseSecretStoreIdentity, sameSecretStoreIdentity, standaloneConnectOpts, startTimerWriter, } from "@cotal-ai/core";
|
|
3
|
+
import { CotalEndpoint, DEFAULT_SERVER, LEASE_TTL_MS, accountFromCreds, credsClaims, deliveryBucket, dialerFor, idFromCreds, injectedSecretStoreIdentity, isCasLoss, isPermissionDenied, isReachable, leaseKey, mintCreds, newIdentity, parseSecretStoreIdentity, sameSecretStoreIdentity, standaloneConnectOpts, startTimerWriter, } from "@cotal-ai/core";
|
|
4
4
|
import { PermissionViolationError } from "@nats-io/transport-node";
|
|
5
5
|
import { DELIVERY_CREDS_KIND, DELIVERY_PIDFILE, FsSecretStore, authDir, canonicalLocalProcessPath, canonicalRoot, deliveryCredsKey, findCotalRoot, isStoreIdFile, isWorkspaceTargetError, loadSpaceAuth, reclaimDeadPreUpgradeRecord, removePidPair, requireCotalRoot, resolveMeshTarget, segmentedKey, soleSpaceOf, spaceSegment, workspaceSecretStore, writePidPair } from "@cotal-ai/workspace";
|
|
6
6
|
import { startMembership } from "./membership.js";
|
|
@@ -23,15 +23,7 @@ export { DELIVERY_CREDS_KIND, deliveryCredsKey };
|
|
|
23
23
|
* as a same-store proof.
|
|
24
24
|
*/
|
|
25
25
|
export function reloadStoreIdentityOf(src) {
|
|
26
|
-
|
|
27
|
-
if (src.store?.identity !== undefined)
|
|
28
|
-
return parseSecretStoreIdentity(src.store.identity);
|
|
29
|
-
const coordinate = process.env.COTAL_SECRET_STORE;
|
|
30
|
-
if (!coordinate)
|
|
31
|
-
throw new Error("delivery: an injected SecretStore must declare its identity or name its coordinate in COTAL_SECRET_STORE so the manager can challenge the same authority (never a silent local-root fallback)");
|
|
32
|
-
return { kind: "injected", coordinate };
|
|
33
|
-
}
|
|
34
|
-
return src.identity;
|
|
26
|
+
return src.injected ? injectedSecretStoreIdentity(src.store) : src.identity;
|
|
35
27
|
}
|
|
36
28
|
/**
|
|
37
29
|
* Identity of the store a `--creds` file is reloaded from.
|
|
@@ -168,9 +160,6 @@ function resolveCredsStore(v, space, root, injected) {
|
|
|
168
160
|
key,
|
|
169
161
|
where: `secret-store key "${key}"`,
|
|
170
162
|
injected: true,
|
|
171
|
-
// Coordinate is named AFTER the cred is found. An absent key must still be
|
|
172
|
-
// the absent-key error, never a COTAL_SECRET_STORE throw that masks it.
|
|
173
|
-
identity: { kind: "injected", coordinate: process.env.COTAL_SECRET_STORE ?? "" },
|
|
174
163
|
};
|
|
175
164
|
}
|
|
176
165
|
if (v.creds !== undefined) {
|
|
@@ -359,7 +348,8 @@ export async function startDeliveryService(inputs) {
|
|
|
359
348
|
};
|
|
360
349
|
}
|
|
361
350
|
catch (error) {
|
|
362
|
-
|
|
351
|
+
// The start-up fault is the report; a row the release left behind is the bucket TTL's to expire.
|
|
352
|
+
await releaseOnStartupFailure?.().catch((e) => console.error(`! ${e.message}`));
|
|
363
353
|
throw error;
|
|
364
354
|
}
|
|
365
355
|
}
|
|
@@ -707,44 +697,53 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
707
697
|
await ep.quiescePlane3();
|
|
708
698
|
}
|
|
709
699
|
catch { /* stop still releases the connection */ }
|
|
700
|
+
// `releaseDeliveryLease` swallows a delete that did not commit, so the row the broker holds
|
|
701
|
+
// afterwards is the verdict: while one is there, a successor is refused.
|
|
702
|
+
let left;
|
|
710
703
|
try {
|
|
711
704
|
const own = await ep.readDeliveryLeaseEntry(shard);
|
|
712
705
|
if (own !== undefined && ep.ownsDeliveryLease(own.info))
|
|
713
706
|
await ep.releaseDeliveryLease(shard, own.revision);
|
|
707
|
+
left = await ep.readDeliveryLeaseEntry(shard);
|
|
714
708
|
}
|
|
715
|
-
catch {
|
|
716
|
-
|
|
717
|
-
await membership?.stop();
|
|
718
|
-
}
|
|
719
|
-
catch { /* broker may be gone */ }
|
|
720
|
-
try {
|
|
721
|
-
await timerWriter?.handle.stop();
|
|
722
|
-
}
|
|
723
|
-
catch { /* broker may be gone */ }
|
|
724
|
-
try {
|
|
725
|
-
await Promise.race([timerWriter?.nc.drain(), new Promise((r) => setTimeout(r, 1000))]);
|
|
726
|
-
}
|
|
727
|
-
catch { /* broker may be gone */ }
|
|
728
|
-
try {
|
|
729
|
-
await timerWriterAttempt;
|
|
709
|
+
catch (e) {
|
|
710
|
+
throw new Error(`delivery: the lease release for shard ${shard} could not be confirmed (${e.message}); the bucket TTL expires a row left behind`, { cause: e });
|
|
730
711
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
712
|
+
finally {
|
|
713
|
+
try {
|
|
714
|
+
await membership?.stop();
|
|
715
|
+
}
|
|
716
|
+
catch { /* broker may be gone */ }
|
|
717
|
+
try {
|
|
718
|
+
await timerWriter?.handle.stop();
|
|
719
|
+
}
|
|
720
|
+
catch { /* broker may be gone */ }
|
|
721
|
+
try {
|
|
722
|
+
await Promise.race([timerWriter?.nc.drain(), new Promise((r) => setTimeout(r, 1000))]);
|
|
723
|
+
}
|
|
724
|
+
catch { /* broker may be gone */ }
|
|
725
|
+
try {
|
|
726
|
+
await timerWriterAttempt;
|
|
727
|
+
}
|
|
728
|
+
catch { /* startup or broker fault */ }
|
|
729
|
+
try {
|
|
730
|
+
await ep.stop();
|
|
731
|
+
}
|
|
732
|
+
catch { /* broker may be gone */ }
|
|
734
733
|
}
|
|
735
|
-
|
|
734
|
+
if (left !== undefined)
|
|
735
|
+
throw new Error(`delivery: the lease for shard ${shard} is still held by ${ep.ownsDeliveryLease(left.info) ? "this instance" : left.info.holder} after close`);
|
|
736
736
|
})();
|
|
737
737
|
return closePromise;
|
|
738
738
|
};
|
|
739
739
|
publishReleaser(close);
|
|
740
740
|
stopHosted = (cause) => {
|
|
741
741
|
unavailable = `delivery context stopped (code 1): ${cause}`;
|
|
742
|
-
|
|
742
|
+
// A later close() returns this same promise, so its failure still reaches the host.
|
|
743
|
+
close().catch(() => { });
|
|
743
744
|
};
|
|
744
|
-
if (hostedStartupFailure !== undefined)
|
|
745
|
-
await close();
|
|
745
|
+
if (hostedStartupFailure !== undefined)
|
|
746
746
|
throw hostedStartupFailure;
|
|
747
|
-
}
|
|
748
747
|
// A START-UP FAILURE AFTER THE ACQUIRE MUST ALSO GIVE THE SHARD BACK. Between this point and the
|
|
749
748
|
// handler swap far below, a throw would otherwise propagate out of `runDelivery` with the row
|
|
750
749
|
// still claiming the shard, stranding it for the bucket TTL exactly as an unhandled signal did -
|
|
@@ -835,10 +834,8 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
835
834
|
throw error;
|
|
836
835
|
/* CLI: the renew loop's CAS failure will exit us if the lease was lost. */
|
|
837
836
|
}
|
|
838
|
-
if (hostedStartupFailure !== undefined)
|
|
839
|
-
await close();
|
|
837
|
+
if (hostedStartupFailure !== undefined)
|
|
840
838
|
throw hostedStartupFailure;
|
|
841
|
-
}
|
|
842
839
|
console.log(`✓ delivery daemon up (space ${space}${shards > 1 ? `, shard ${shard}/${shards}` : ""}) — stop with: cotal down`);
|
|
843
840
|
// Broker-sourced graph membership: a SEPARATE module on its OWN connections (system-account CONNZ
|
|
844
841
|
// reader + data-account feed writer), isolated from Plane-3. Fail-soft — a missing cred / start error
|
|
@@ -860,12 +857,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
860
857
|
// A store read can finish after a startup health fault closed the endpoint. Dispose the feed
|
|
861
858
|
// it just returned before rejecting; it did not exist when the original close ran.
|
|
862
859
|
if (hostedStartupFailure !== undefined) {
|
|
863
|
-
|
|
864
|
-
await membership?.stop();
|
|
865
|
-
}
|
|
866
|
-
finally {
|
|
867
|
-
await close();
|
|
868
|
-
}
|
|
860
|
+
await membership?.stop();
|
|
869
861
|
throw hostedStartupFailure;
|
|
870
862
|
}
|
|
871
863
|
// The TIMER WRITER (SPEC 13.2): the pump that turns workflow `.schedule` requests into armed
|
|
@@ -926,7 +918,7 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
926
918
|
const shutdown = (code, cause) => {
|
|
927
919
|
if (hosted !== undefined) {
|
|
928
920
|
unavailable = cause ? `delivery context stopped (code ${code}): ${cause}` : `delivery context stopped (code ${code})`;
|
|
929
|
-
|
|
921
|
+
close().catch(() => { }); // as in stopHosted, the host's own close() reports it
|
|
930
922
|
return;
|
|
931
923
|
}
|
|
932
924
|
if (stopping)
|
|
@@ -1223,7 +1215,6 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1223
1215
|
});
|
|
1224
1216
|
if (hosted !== undefined && stopping) {
|
|
1225
1217
|
stopLeaseWatch?.();
|
|
1226
|
-
await close();
|
|
1227
1218
|
throw hostedStartupFailure ?? new Error(unavailable ?? "delivery context stopped during startup");
|
|
1228
1219
|
}
|
|
1229
1220
|
startedUp = true;
|
|
@@ -1344,7 +1335,6 @@ async function runStartedDelivery(args, store, publishReleaser, hosted) {
|
|
|
1344
1335
|
}
|
|
1345
1336
|
})();
|
|
1346
1337
|
}, Math.max(1000, Math.floor(LEASE_TTL_MS / 2)));
|
|
1347
|
-
// Native transport health is driven by DeliveryTransportHealth above (resident transport events).
|
|
1348
1338
|
return {
|
|
1349
1339
|
status: () => unavailable !== undefined ? { state: "unavailable", cause: unavailable } : { state: stopping ? "draining" : "ready" },
|
|
1350
1340
|
close,
|
package/dist/delivery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery.js","sourceRoot":"","sources":["../src/delivery.ts"],"names":[],"mappings":"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"}
|
package/dist/feedback-intake.js
CHANGED
|
@@ -21,7 +21,7 @@ export async function runFeedbackIntake(args) {
|
|
|
21
21
|
process.exit(1);
|
|
22
22
|
}
|
|
23
23
|
const host = values.host ?? "127.0.0.1";
|
|
24
|
-
const port =
|
|
24
|
+
const port = portOpt(values.port);
|
|
25
25
|
const maxBytes = numberOpt(values["max-bytes"], 64 * 1024, "max-bytes");
|
|
26
26
|
const rateLimit = numberOpt(values["rate-limit"], 30, "rate-limit");
|
|
27
27
|
const store = resolve(values.store ?? ".cotal/feedback/feedback.jsonl");
|
|
@@ -117,6 +117,14 @@ export async function runFeedbackIntake(args) {
|
|
|
117
117
|
process.on("SIGTERM", () => void shutdown());
|
|
118
118
|
await new Promise(() => { });
|
|
119
119
|
}
|
|
120
|
+
function portOpt(raw) {
|
|
121
|
+
if (raw === undefined)
|
|
122
|
+
return 8787;
|
|
123
|
+
const port = Number(raw);
|
|
124
|
+
if (!/^[0-9]+$/.test(raw) || port < 1 || port > 65535)
|
|
125
|
+
throw new Error("--port must be a decimal port from 1 to 65535");
|
|
126
|
+
return port;
|
|
127
|
+
}
|
|
120
128
|
function numberOpt(raw, fallback, name) {
|
|
121
129
|
if (raw === undefined)
|
|
122
130
|
return fallback;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback-intake.js","sourceRoot":"","sources":["../src/feedback-intake.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feedback-intake.js","sourceRoot":"","sources":["../src/feedback-intake.ts"],"names":[],"mappings":"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"}
|
package/dist/sys-creds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sys-creds.d.ts","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sys-creds.d.ts","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM9E;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH;;;;;;;;;;;;;;;oGAeoG;AACpG,MAAM,MAAM,cAAc,GACtB;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,GACzE;IAAE,OAAO,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsB3E;;;;;;;;;;;;;;;;;;;;;;;sGAuBsG;AACtG,wBAAgB,YAAY,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgBrF;AAED;;;;;;gFAMgF;AAChF,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAMxE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAezG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAazH;AAED;;+DAE+D;AAC/D,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;+FAC2F;IAC3F,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;;;;;8FAQ8F;AAC9F,wBAAsB,WAAW,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAgB9F"}
|
package/dist/sys-creds.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { credsClaims } from "@cotal-ai/core";
|
|
1
|
+
import { credsClaims, isAccountNkey } from "@cotal-ai/core";
|
|
2
2
|
import { assertSingleSpaceBroker, authDir, connectionEvictorCredsKey, CONNECTION_EVICTOR_CREDS_KIND, membershipObserverCredsKey, MEMBERSHIP_OBSERVER_CREDS_KIND, segmentedKey, } from "@cotal-ai/workspace";
|
|
3
3
|
/** The broker-wide operation `repairAdvice` would send a workstation operator to, phrased so the
|
|
4
4
|
* guard's own refusal reads as a sentence when it is quoted back. */
|
|
@@ -66,9 +66,9 @@ export function repairAdvice(source, kinds) {
|
|
|
66
66
|
* "Authorization Violation" into a line naming both accounts (design §4.3). */
|
|
67
67
|
export function connzAccountOf(observerCreds) {
|
|
68
68
|
for (const subject of credsClaims(observerCreds).nats?.pub?.allow ?? []) {
|
|
69
|
-
const
|
|
70
|
-
if (
|
|
71
|
-
return
|
|
69
|
+
const account = /^\$SYS\.REQ\.ACCOUNT\.([^.]+)\.CONNZ$/.exec(subject)?.[1];
|
|
70
|
+
if (isAccountNkey(account))
|
|
71
|
+
return account;
|
|
72
72
|
}
|
|
73
73
|
return undefined;
|
|
74
74
|
}
|
package/dist/sys-creds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sys-creds.js","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"sys-creds.js","sourceRoot":"","sources":["../src/sys-creds.ts"],"names":[],"mappings":"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"}
|
package/dist/watchdog.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The delivery daemon's
|
|
2
|
+
* The delivery daemon's lease decision, as PURE functions over evidence, and the loop-lag meter its
|
|
3
|
+
* broker-loss decision reads.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
* broker is gone" from "this process did not get scheduled". On 2026-09-05 that
|
|
6
|
-
* minutes across two exits while `nats-server` had been up continuously for 7.3
|
|
7
|
-
* listening throughout; the real condition was load 311 on 12 cores (#1318). The
|
|
8
|
-
* the direction of its own failure, and it did so exactly when delivery was most
|
|
5
|
+
* The broker-loss and lease decisions used to be taken inline from a wall clock, and a wall clock
|
|
6
|
+
* cannot tell "the broker is gone" from "this process did not get scheduled". On 2026-09-05 that
|
|
7
|
+
* cost Plane-3 nine minutes across two exits while `nats-server` had been up continuously for 7.3
|
|
8
|
+
* days and was listening throughout; the real condition was load 311 on 12 cores (#1318). The
|
|
9
|
+
* detector failed in the direction of its own failure, and it did so exactly when delivery was most
|
|
10
|
+
* needed.
|
|
9
11
|
*
|
|
10
12
|
* Pulled out here for two reasons. The obvious one is that a decision expressed as a function of
|
|
11
13
|
* named evidence is readable. The load-bearing one is that it becomes GRADEABLE without a broker,
|
|
@@ -13,182 +15,6 @@
|
|
|
13
15
|
* ACCEPTING branch can be paired with a REFUSING case that differs only in the evidence, and a
|
|
14
16
|
* mutation to any branch reddens a named cell rather than a timing-dependent end-to-end assertion.
|
|
15
17
|
*/
|
|
16
|
-
/** How often the broker watch is scheduled. The measured gap between two firings minus this is
|
|
17
|
-
* LOCAL SCHEDULER LAG: a fact about this process, not about the server. */
|
|
18
|
-
export declare const PROBE_INTERVAL_MS = 2000;
|
|
19
|
-
/** The deadline `isReachable` gives a non-websocket probe. Named here because the probe's own
|
|
20
|
-
* budget is the yardstick that makes a late answer legible as lateness. */
|
|
21
|
-
export declare const PROBE_BUDGET_MS = 1000;
|
|
22
|
-
/** How far past its own budget an answer may arrive and still be believed as a statement about the
|
|
23
|
-
* server. A probe that answers at its deadline is a normal timeout; one that answers at twice its
|
|
24
|
-
* deadline did not have that deadline enforced against the SERVER at all. It had it enforced
|
|
25
|
-
* against a process that was not running when it expired. Two rather than something larger because
|
|
26
|
-
* the measured case is 2554ms on a 1000ms budget (#1318's triage), and rather than something
|
|
27
|
-
* smaller because it must never reclassify an honest timeout on a merely busy host as starvation,
|
|
28
|
-
* which would blunt the true-positive path this repair is required to preserve. */
|
|
29
|
-
export declare const PROBE_LATE_FACTOR = 2;
|
|
30
|
-
/** How often the deschedule sampler wakes during a probe. Short enough to resolve the stalls that
|
|
31
|
-
* matter (tens of ms), long enough that the measurement is not itself a meaningful load. */
|
|
32
|
-
export declare const PROBE_SAMPLE_MS = 25;
|
|
33
|
-
/** How much of its promised budget the server must have been DENIED before a refusal stops counting
|
|
34
|
-
* as evidence about the server. Ordinary Node timer jitter measures tens of milliseconds on a
|
|
35
|
-
* perfectly healthy host, so any non-zero threshold would disqualify every honest budget-ended
|
|
36
|
-
* refusal and leave the daemon exiting only on its backstop. A server handed more than half the
|
|
37
|
-
* time it was promised and still refusing is refusing on its own account. */
|
|
38
|
-
export declare const STARVED_SHARE = 0.5;
|
|
39
|
-
/**
|
|
40
|
-
* What a single probe actually established, given how long its answer took to arrive.
|
|
41
|
-
*
|
|
42
|
-
* THIS IS THE SIGNAL THAT MAKES THE DISTINCTION CHEAP AND LOCAL. `isReachable` flattens every
|
|
43
|
-
* failure to `false`, so a starved client reads exactly like a dead server. That is the issue's
|
|
44
|
-
* third mechanism and the one a wall clock cannot touch. But the two differ in a quantity the
|
|
45
|
-
* daemon already has: WHEN the answer arrived relative to the deadline the probe itself set.
|
|
46
|
-
*
|
|
47
|
-
* • A dead port answers ECONNREFUSED in about a millisecond.
|
|
48
|
-
* • A blackholed address answers at the budget, because the budget is what ended it.
|
|
49
|
-
* • A starved process answers whenever it is next scheduled, which is arbitrarily later, the
|
|
50
|
-
* triage for #1318 measured a false at 2554ms against a 1000ms budget with `nats-server` alive
|
|
51
|
-
* and reachable immediately before and after.
|
|
52
|
-
*
|
|
53
|
-
* So a negative that arrives far past its own deadline is not evidence about the server. It is
|
|
54
|
-
* evidence about this process, and it is counted as such.
|
|
55
|
-
*/
|
|
56
|
-
export type ProbeEvidence = {
|
|
57
|
-
counts: "positive";
|
|
58
|
-
} | {
|
|
59
|
-
counts: "negative";
|
|
60
|
-
} | {
|
|
61
|
-
counts: "starved";
|
|
62
|
-
lateBy: number;
|
|
63
|
-
} | {
|
|
64
|
-
counts: "incomplete";
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Classify one probe result.
|
|
68
|
-
*
|
|
69
|
-
* `ok === undefined` is a probe that REJECTED rather than resolving: an unanswered question. It was
|
|
70
|
-
* previously swallowed by `.catch(() => {})`, so it neither refreshed the window nor evaluated
|
|
71
|
-
* anything, and silently aged the daemon toward an exit it had gathered no evidence for.
|
|
72
|
-
*/
|
|
73
|
-
export declare function classifyProbe(ok: boolean | undefined, elapsedMs: number, budgetMs?: number, lateFactor?: number, descheduledDuringMs?: number): ProbeEvidence;
|
|
74
|
-
/**
|
|
75
|
-
* Measure how long this process spends OFF the runqueue across a span, by watching a short timer's
|
|
76
|
-
* own lateness.
|
|
77
|
-
*
|
|
78
|
-
* A timer asked to fire every `sampleMs` that instead fires `sampleMs + d` later reports `d` of
|
|
79
|
-
* delay this process could not avoid: the event loop was ready and the process was not running.
|
|
80
|
-
* Summed across a probe. That is the part of the probe's wall-clock that the server was never
|
|
81
|
-
* actually given, which is the difference between "the server did not answer in a second" and "a
|
|
82
|
-
* second passed, and the server had 40ms of it".
|
|
83
|
-
*
|
|
84
|
-
* This measures the same underlying condition as {@link LoopLagMeter} at a finer grain and over a
|
|
85
|
-
* bounded span, which is what lets a per-probe verdict use it. It deliberately reads only the
|
|
86
|
-
* clock: `/proc` sampling, `getrusage`, or cgroup pressure would all be sharper, and all of them are
|
|
87
|
-
* platform-specific in a way that would make this daemon behave differently on the hosts that most
|
|
88
|
-
* need it. A late timer is available everywhere the daemon runs.
|
|
89
|
-
*/
|
|
90
|
-
export declare class DescheduleSampler {
|
|
91
|
-
private readonly sampleMs;
|
|
92
|
-
private accumulated;
|
|
93
|
-
private last;
|
|
94
|
-
private timer;
|
|
95
|
-
constructor(sampleMs?: number);
|
|
96
|
-
start(now?: number): void;
|
|
97
|
-
/** Stop sampling and return the total off-runqueue time observed. Charging the final partial gap
|
|
98
|
-
* matters: under heavy starvation the single longest stall is often the one still in progress
|
|
99
|
-
* when the probe resolves, and dropping it would undercount exactly the worst case. */
|
|
100
|
-
stop(now?: number): number;
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* What the daemon actually knows when it decides whether the broker is gone.
|
|
104
|
-
*
|
|
105
|
-
* Every field is evidence it GATHERED, never time that merely elapsed. That distinction is the
|
|
106
|
-
* whole repair: `msSinceLastReachable` on its own accrues while no probe runs at all, so a starved
|
|
107
|
-
* process finds its window already blown by the first callback that gets scheduled.
|
|
108
|
-
*/
|
|
109
|
-
export interface BrokerWatchEvidence {
|
|
110
|
-
/** Wall time since the last POSITIVE evidence of the broker: a probe that ran to completion and
|
|
111
|
-
* said yes, or a transport (re)connect, which cannot happen without a server on the other end. */
|
|
112
|
-
msSinceLastReachable: number;
|
|
113
|
-
/** Measured local scheduler lag inside that window: the summed excess of each observed interval
|
|
114
|
-
* gap over {@link PROBE_INTERVAL_MS}, PLUS the excess of each probe answer over its own deadline.
|
|
115
|
-
* An interval that fired 30s late and a probe that answered 2554ms into a 1000ms budget are both
|
|
116
|
-
* direct evidence that THIS PROCESS was starved, and that time must not be counted against the
|
|
117
|
-
* broker. */
|
|
118
|
-
starvedMs: number;
|
|
119
|
-
/** Probes that ran to completion, answered WITHIN their own deadline, and said no, consecutively.
|
|
120
|
-
* A probe that never ran contributes nothing; one that rejected is an unanswered question; one
|
|
121
|
-
* whose answer arrived far past its own budget is a statement about this process. Each of those
|
|
122
|
-
* resets this to 0, because the claim it encodes is a run of credible refusals. */
|
|
123
|
-
completedNegatives: number;
|
|
124
|
-
/** Whether THIS daemon's own established connection to that same broker is still open, as the
|
|
125
|
-
* connection object reports it. A live socket to the server is positive evidence the server is
|
|
126
|
-
* there that costs no probe and needs no scheduling, and it is exactly the signal that separates
|
|
127
|
-
* a transport-level CLOSE from SILENCE. A side probe that cannot complete a fresh handshake while
|
|
128
|
-
* our standing connection to the same address is open is telling us about this process's ability
|
|
129
|
-
* to ask, not about the server. */
|
|
130
|
-
transportConnected: boolean;
|
|
131
|
-
/** The unstarved window the daemon is allowed to be without positive evidence. */
|
|
132
|
-
windowMs: number;
|
|
133
|
-
/** How many completed negatives are required before elapsed time may be believed. */
|
|
134
|
-
requiredNegatives: number;
|
|
135
|
-
/** HARD BACKSTOP on the STARVATION credit, applied whenever the transport is not open. A daemon
|
|
136
|
-
* that outlives a genuinely dead broker is a WORSE defect than the one being repaired: it loops
|
|
137
|
-
* reconnect attempts forever and nothing recovers it, whereas the reported defect costs a
|
|
138
|
-
* restart. So measured lag can only excuse so much, and the failure direction is toward exiting.
|
|
139
|
-
* It deliberately does not bound {@link transportConnected}, which is not an absence of evidence
|
|
140
|
-
* at all, see {@link brokerGoneVerdict}. */
|
|
141
|
-
backstopMs: number;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* The verdict, with the reason it was reached, so an operator reads WHY the daemon stayed up.
|
|
145
|
-
*
|
|
146
|
-
* `starved` and `insufficient-evidence` are deliberately distinct non-exits. They are the two
|
|
147
|
-
* conditions #1318 collapsed into "broker unreachable": the first is "I could not ask", the second
|
|
148
|
-
* is "I have not yet been told no often enough to believe it".
|
|
149
|
-
*/
|
|
150
|
-
export type BrokerVerdict = {
|
|
151
|
-
exit: false;
|
|
152
|
-
reason: "reachable";
|
|
153
|
-
} | {
|
|
154
|
-
exit: false;
|
|
155
|
-
reason: "starved";
|
|
156
|
-
} | {
|
|
157
|
-
exit: false;
|
|
158
|
-
reason: "transport-live";
|
|
159
|
-
} | {
|
|
160
|
-
exit: false;
|
|
161
|
-
reason: "insufficient-evidence";
|
|
162
|
-
} | {
|
|
163
|
-
exit: true;
|
|
164
|
-
reason: "broker-gone";
|
|
165
|
-
} | {
|
|
166
|
-
exit: true;
|
|
167
|
-
reason: "backstop";
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Decide whether the broker is GONE, from evidence alone.
|
|
171
|
-
*
|
|
172
|
-
* EXIT REQUIRES BOTH CONJUNCTS, and each exists because the other cannot cover its case:
|
|
173
|
-
*
|
|
174
|
-
* 1. `completedNegatives >= requiredNegatives`, probes that actually RAN and actually said no.
|
|
175
|
-
* Without this, a window that expired while the process was descheduled is read as a server
|
|
176
|
-
* failure, which is the reported defect in its purest form.
|
|
177
|
-
* 2. `msSinceLastReachable - starvedMs > windowMs`, the UNSTARVED part of the window. Without
|
|
178
|
-
* this, a host that schedules the daemon just often enough to fire two probes into a
|
|
179
|
-
* momentarily-saturated loopback exits on two negatives that a healthy host would never have
|
|
180
|
-
* produced.
|
|
181
|
-
*
|
|
182
|
-
* THIS IS NOT A WIDER TIMEOUT. `windowMs` is unchanged from the shipped default; what changed is
|
|
183
|
-
* that the quantity compared against it is now evidence rather than the passage of time. A daemon
|
|
184
|
-
* whose broker is genuinely dead produces completed negatives as fast as it is scheduled, a dead
|
|
185
|
-
* port answers ECONNREFUSED immediately and a blackholed one answers inside the probe deadline ,
|
|
186
|
-
* AND loses its standing connection, so the true-positive path is not delayed by this at all, which
|
|
187
|
-
* is the property that separates a repair from a band-aid. A process so starved that it produces NO
|
|
188
|
-
* completed probe also cannot deliver anything, and ending it would not make Plane-3 more
|
|
189
|
-
* available; it would make the outage permanent for a stock install with no watchdog.
|
|
190
|
-
*/
|
|
191
|
-
export declare function brokerGoneVerdict(e: BrokerWatchEvidence): BrokerVerdict;
|
|
192
18
|
/** What a re-read of this shard's lease says, once a renew has failed. */
|
|
193
19
|
export type LeaseReading = {
|
|
194
20
|
kind: "held";
|
|
@@ -258,7 +84,7 @@ export declare class LoopLagMeter {
|
|
|
258
84
|
/** Disjoint, sorted [start, end] intervals of measured non-running time in the current window.
|
|
259
85
|
* Bounded: overlapping charges merge, and `reset` clears them on every positive. */
|
|
260
86
|
private spans;
|
|
261
|
-
constructor(intervalMs
|
|
87
|
+
constructor(intervalMs: number);
|
|
262
88
|
/** Record a firing at `now`; returns the lag this particular gap contributed.
|
|
263
89
|
*
|
|
264
90
|
* WHAT THE GAP IS CHARGED AS, since this is the half that is easy to misread: the excess of the
|
|
@@ -299,7 +125,7 @@ export declare class LoopLagMeter {
|
|
|
299
125
|
* did not have can never exceed time that passed. Overlap is removed by that bound and nothing
|
|
300
126
|
* else is discarded, so the sum stays as informative as its parts allow.
|
|
301
127
|
*
|
|
302
|
-
* Load-bearing, not hygiene: `
|
|
128
|
+
* Load-bearing, not hygiene: `DeliveryTransportHealth` SUBTRACTS this from elapsed time.
|
|
303
129
|
* Unclamped, a stall charged twice drives unstarved time negative, and NO amount of real outage
|
|
304
130
|
* can then clear the evidence clause - a genuinely dead broker stops being detectable by evidence
|
|
305
131
|
* and survives to the backstop instead. Measured: a 30s stall moved an exit from 44s to 62s. */
|
package/dist/watchdog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchdog.d.ts","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"watchdog.d.ts","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;AAEhE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,YAAY,GAAG,WAAW,CAa9D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAIzD;AAED;;;;;;;;;GASG;AACH,qBAAa,YAAY;IAMX,OAAO,CAAC,QAAQ,CAAC,UAAU;IALvC,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,WAAW,CAAK;IACxB;yFACqF;IACrF,OAAO,CAAC,KAAK,CAA+B;gBACf,UAAU,EAAE,MAAM;IAE/C;;;;;;;;;;;sCAWkC;IAClC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAYzB;;;;;qEAKiE;IACjE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAmB,GAAG,IAAI;IAYzD;;;;;;;;;;gFAU4E;IAC5E,OAAO,CAAC,UAAU;IAclB;;;;;;;;;;;qGAWiG;IACjG,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAKvC,oDAAoD;IACpD,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;+FAC2F;IAC3F,KAAK,IAAI,IAAI;CAKd"}
|
package/dist/watchdog.js
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The delivery daemon's
|
|
2
|
+
* The delivery daemon's lease decision, as PURE functions over evidence, and the loop-lag meter its
|
|
3
|
+
* broker-loss decision reads.
|
|
3
4
|
*
|
|
4
|
-
*
|
|
5
|
-
* broker is gone" from "this process did not get scheduled". On 2026-09-05 that
|
|
6
|
-
* minutes across two exits while `nats-server` had been up continuously for 7.3
|
|
7
|
-
* listening throughout; the real condition was load 311 on 12 cores (#1318). The
|
|
8
|
-
* the direction of its own failure, and it did so exactly when delivery was most
|
|
5
|
+
* The broker-loss and lease decisions used to be taken inline from a wall clock, and a wall clock
|
|
6
|
+
* cannot tell "the broker is gone" from "this process did not get scheduled". On 2026-09-05 that
|
|
7
|
+
* cost Plane-3 nine minutes across two exits while `nats-server` had been up continuously for 7.3
|
|
8
|
+
* days and was listening throughout; the real condition was load 311 on 12 cores (#1318). The
|
|
9
|
+
* detector failed in the direction of its own failure, and it did so exactly when delivery was most
|
|
10
|
+
* needed.
|
|
9
11
|
*
|
|
10
12
|
* Pulled out here for two reasons. The obvious one is that a decision expressed as a function of
|
|
11
13
|
* named evidence is readable. The load-bearing one is that it becomes GRADEABLE without a broker,
|
|
@@ -13,196 +15,6 @@
|
|
|
13
15
|
* ACCEPTING branch can be paired with a REFUSING case that differs only in the evidence, and a
|
|
14
16
|
* mutation to any branch reddens a named cell rather than a timing-dependent end-to-end assertion.
|
|
15
17
|
*/
|
|
16
|
-
/** How often the broker watch is scheduled. The measured gap between two firings minus this is
|
|
17
|
-
* LOCAL SCHEDULER LAG: a fact about this process, not about the server. */
|
|
18
|
-
export const PROBE_INTERVAL_MS = 2000;
|
|
19
|
-
/** The deadline `isReachable` gives a non-websocket probe. Named here because the probe's own
|
|
20
|
-
* budget is the yardstick that makes a late answer legible as lateness. */
|
|
21
|
-
export const PROBE_BUDGET_MS = 1000;
|
|
22
|
-
/** How far past its own budget an answer may arrive and still be believed as a statement about the
|
|
23
|
-
* server. A probe that answers at its deadline is a normal timeout; one that answers at twice its
|
|
24
|
-
* deadline did not have that deadline enforced against the SERVER at all. It had it enforced
|
|
25
|
-
* against a process that was not running when it expired. Two rather than something larger because
|
|
26
|
-
* the measured case is 2554ms on a 1000ms budget (#1318's triage), and rather than something
|
|
27
|
-
* smaller because it must never reclassify an honest timeout on a merely busy host as starvation,
|
|
28
|
-
* which would blunt the true-positive path this repair is required to preserve. */
|
|
29
|
-
export const PROBE_LATE_FACTOR = 2;
|
|
30
|
-
/** How often the deschedule sampler wakes during a probe. Short enough to resolve the stalls that
|
|
31
|
-
* matter (tens of ms), long enough that the measurement is not itself a meaningful load. */
|
|
32
|
-
export const PROBE_SAMPLE_MS = 25;
|
|
33
|
-
/** How much of its promised budget the server must have been DENIED before a refusal stops counting
|
|
34
|
-
* as evidence about the server. Ordinary Node timer jitter measures tens of milliseconds on a
|
|
35
|
-
* perfectly healthy host, so any non-zero threshold would disqualify every honest budget-ended
|
|
36
|
-
* refusal and leave the daemon exiting only on its backstop. A server handed more than half the
|
|
37
|
-
* time it was promised and still refusing is refusing on its own account. */
|
|
38
|
-
export const STARVED_SHARE = 0.5;
|
|
39
|
-
/**
|
|
40
|
-
* Classify one probe result.
|
|
41
|
-
*
|
|
42
|
-
* `ok === undefined` is a probe that REJECTED rather than resolving: an unanswered question. It was
|
|
43
|
-
* previously swallowed by `.catch(() => {})`, so it neither refreshed the window nor evaluated
|
|
44
|
-
* anything, and silently aged the daemon toward an exit it had gathered no evidence for.
|
|
45
|
-
*/
|
|
46
|
-
export function classifyProbe(ok, elapsedMs, budgetMs = PROBE_BUDGET_MS, lateFactor = PROBE_LATE_FACTOR, descheduledDuringMs = 0) {
|
|
47
|
-
if (ok === undefined)
|
|
48
|
-
return { counts: "incomplete" };
|
|
49
|
-
// A POSITIVE IS BELIEVED HOWEVER LATE IT IS. A slow yes still required a server to say it, so
|
|
50
|
-
// lateness cannot turn it into anything weaker; and refusing late positives would make a starved
|
|
51
|
-
// daemon unable to ever clear its own window, which is the defect again with the sign flipped.
|
|
52
|
-
if (ok)
|
|
53
|
-
return { counts: "positive" };
|
|
54
|
-
const ceiling = budgetMs * lateFactor;
|
|
55
|
-
// (1) THE ANSWER ARRIVED FAR PAST ITS OWN DEADLINE. The deadline was enforced against this
|
|
56
|
-
// process, not against the server: a 1000ms budget that reports at 2554ms did not measure a
|
|
57
|
-
// server for 2554ms, it measured a process that could not get back on the CPU to stop waiting.
|
|
58
|
-
// This is the form the #1318 triage captured directly, and it needs no other instrumentation.
|
|
59
|
-
if (elapsedMs > ceiling)
|
|
60
|
-
return { counts: "starved", lateBy: elapsedMs - budgetMs };
|
|
61
|
-
// (2) THE DEADLINE EXPIRED WITHOUT THE SERVER EVER GETTING THE BUDGET IT WAS PROMISED. A refusal
|
|
62
|
-
// is only evidence if the server had the time to answer in. Subtracting the stretch this process
|
|
63
|
-
// spent OFF the runqueue leaves what the server actually had, and the two cases separate cleanly:
|
|
64
|
-
//
|
|
65
|
-
// - a genuinely dead port answers ECONNREFUSED in about a millisecond, so `elapsed` never
|
|
66
|
-
// reaches the budget at all and this clause does not apply. That is a prompt, honest negative
|
|
67
|
-
// and it must stay one, or the repair would buy availability by making a dead broker
|
|
68
|
-
// survivable, which is the failure mode worse than the defect.
|
|
69
|
-
// - a process getting short slices of CPU issues a connect, is descheduled, and its deadline
|
|
70
|
-
// timer fires the instant it is scheduled again. Wall-clock elapsed looks like a normal,
|
|
71
|
-
// prompt timeout; almost none of it was time the server was given. Judged by the clock alone
|
|
72
|
-
// this is indistinguishable from a dead server, which is exactly the confusion #1318 is about.
|
|
73
|
-
//
|
|
74
|
-
// THE MATERIAL-SHARE TEST IS WHAT KEEPS THIS FROM SWALLOWING EVERY REFUSAL, and it was a review
|
|
75
|
-
// finding: requiring merely `attributable < budget` meant ANY non-zero measurement disqualified an
|
|
76
|
-
// honest budget-ended refusal, and ordinary Node timer jitter on a healthy host measures 10-30ms.
|
|
77
|
-
// Every blackholed probe everywhere then read as starvation, the completed-negative count could
|
|
78
|
-
// never rise, and a genuinely dead broker would be exited only by the backstop, four times slower
|
|
79
|
-
// than the shipped window, with the wrong reason in the log. So the server must have been denied a
|
|
80
|
-
// MATERIAL share of its budget, not merely an instant of it. Half is the line: a server given more
|
|
81
|
-
// than half the time it was promised and still refusing is refusing on its own account.
|
|
82
|
-
//
|
|
83
|
-
// Clamped to the probe's own span so a bad measurement cannot manufacture credit.
|
|
84
|
-
const attributableMs = elapsedMs - Math.max(0, Math.min(descheduledDuringMs, elapsedMs));
|
|
85
|
-
if (elapsedMs >= budgetMs && attributableMs < budgetMs * STARVED_SHARE) {
|
|
86
|
-
return { counts: "starved", lateBy: elapsedMs - attributableMs };
|
|
87
|
-
}
|
|
88
|
-
return { counts: "negative" };
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Measure how long this process spends OFF the runqueue across a span, by watching a short timer's
|
|
92
|
-
* own lateness.
|
|
93
|
-
*
|
|
94
|
-
* A timer asked to fire every `sampleMs` that instead fires `sampleMs + d` later reports `d` of
|
|
95
|
-
* delay this process could not avoid: the event loop was ready and the process was not running.
|
|
96
|
-
* Summed across a probe. That is the part of the probe's wall-clock that the server was never
|
|
97
|
-
* actually given, which is the difference between "the server did not answer in a second" and "a
|
|
98
|
-
* second passed, and the server had 40ms of it".
|
|
99
|
-
*
|
|
100
|
-
* This measures the same underlying condition as {@link LoopLagMeter} at a finer grain and over a
|
|
101
|
-
* bounded span, which is what lets a per-probe verdict use it. It deliberately reads only the
|
|
102
|
-
* clock: `/proc` sampling, `getrusage`, or cgroup pressure would all be sharper, and all of them are
|
|
103
|
-
* platform-specific in a way that would make this daemon behave differently on the hosts that most
|
|
104
|
-
* need it. A late timer is available everywhere the daemon runs.
|
|
105
|
-
*/
|
|
106
|
-
export class DescheduleSampler {
|
|
107
|
-
sampleMs;
|
|
108
|
-
accumulated = 0;
|
|
109
|
-
last = 0;
|
|
110
|
-
timer;
|
|
111
|
-
constructor(sampleMs = PROBE_SAMPLE_MS) {
|
|
112
|
-
this.sampleMs = sampleMs;
|
|
113
|
-
}
|
|
114
|
-
start(now = Date.now()) {
|
|
115
|
-
this.accumulated = 0;
|
|
116
|
-
this.last = now;
|
|
117
|
-
this.timer = setInterval(() => {
|
|
118
|
-
const t = Date.now();
|
|
119
|
-
this.accumulated += Math.max(0, t - this.last - this.sampleMs);
|
|
120
|
-
this.last = t;
|
|
121
|
-
}, this.sampleMs);
|
|
122
|
-
// Never hold the process open for a measurement: the daemon's lifetime is decided elsewhere.
|
|
123
|
-
this.timer.unref?.();
|
|
124
|
-
}
|
|
125
|
-
/** Stop sampling and return the total off-runqueue time observed. Charging the final partial gap
|
|
126
|
-
* matters: under heavy starvation the single longest stall is often the one still in progress
|
|
127
|
-
* when the probe resolves, and dropping it would undercount exactly the worst case. */
|
|
128
|
-
stop(now = Date.now()) {
|
|
129
|
-
if (this.timer !== undefined) {
|
|
130
|
-
clearInterval(this.timer);
|
|
131
|
-
this.timer = undefined;
|
|
132
|
-
}
|
|
133
|
-
this.accumulated += Math.max(0, now - this.last - this.sampleMs);
|
|
134
|
-
return this.accumulated;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Decide whether the broker is GONE, from evidence alone.
|
|
139
|
-
*
|
|
140
|
-
* EXIT REQUIRES BOTH CONJUNCTS, and each exists because the other cannot cover its case:
|
|
141
|
-
*
|
|
142
|
-
* 1. `completedNegatives >= requiredNegatives`, probes that actually RAN and actually said no.
|
|
143
|
-
* Without this, a window that expired while the process was descheduled is read as a server
|
|
144
|
-
* failure, which is the reported defect in its purest form.
|
|
145
|
-
* 2. `msSinceLastReachable - starvedMs > windowMs`, the UNSTARVED part of the window. Without
|
|
146
|
-
* this, a host that schedules the daemon just often enough to fire two probes into a
|
|
147
|
-
* momentarily-saturated loopback exits on two negatives that a healthy host would never have
|
|
148
|
-
* produced.
|
|
149
|
-
*
|
|
150
|
-
* THIS IS NOT A WIDER TIMEOUT. `windowMs` is unchanged from the shipped default; what changed is
|
|
151
|
-
* that the quantity compared against it is now evidence rather than the passage of time. A daemon
|
|
152
|
-
* whose broker is genuinely dead produces completed negatives as fast as it is scheduled, a dead
|
|
153
|
-
* port answers ECONNREFUSED immediately and a blackholed one answers inside the probe deadline ,
|
|
154
|
-
* AND loses its standing connection, so the true-positive path is not delayed by this at all, which
|
|
155
|
-
* is the property that separates a repair from a band-aid. A process so starved that it produces NO
|
|
156
|
-
* completed probe also cannot deliver anything, and ending it would not make Plane-3 more
|
|
157
|
-
* available; it would make the outage permanent for a stock install with no watchdog.
|
|
158
|
-
*/
|
|
159
|
-
export function brokerGoneVerdict(e) {
|
|
160
|
-
// Positive evidence inside the window outranks everything: nothing below can be true of a broker
|
|
161
|
-
// that answered us this recently.
|
|
162
|
-
if (e.msSinceLastReachable <= e.windowMs)
|
|
163
|
-
return { exit: false, reason: "reachable" };
|
|
164
|
-
// THE BACKSTOP IS ABSOLUTE, AND IT IS DECIDED FIRST because every clause below it is a reason to
|
|
165
|
-
// keep waiting. This ordering was a review finding, and it is the difference between a bound and
|
|
166
|
-
// a wish: two reviewers independently observed that an open transport ranked ABOVE the backstop,
|
|
167
|
-
// which made the backstop conditional on the very signal most likely to be stale.
|
|
168
|
-
//
|
|
169
|
-
// `transportConnected` is not an observation of the broker. It is this client's cached socket
|
|
170
|
-
// state, and it is only refreshed when nats.js decides the peer is gone. Under a SILENT death ,
|
|
171
|
-
// an OOM kill, a hypervisor pause, a firewall that starts dropping rather than refusing, anything
|
|
172
|
-
// that produces no FIN and no RST, the kernel keeps the connection ESTABLISHED and nats.js does
|
|
173
|
-
// not notice until its own ping cycle expires. With the shipped defaults that is roughly six
|
|
174
|
-
// minutes. Ranked above the backstop, a stale `true` suspended the exit for that entire window no
|
|
175
|
-
// matter how much elapsed time and how many completed refusals had piled up behind it, which is
|
|
176
|
-
// worse than the pre-fix behaviour in exactly the shape an operator would least expect.
|
|
177
|
-
//
|
|
178
|
-
// So the daemon is bounded unconditionally: past the backstop it exits, whatever it believes
|
|
179
|
-
// about its socket. That is the guarantee the coupling exists for, and a guarantee that any
|
|
180
|
-
// single stale flag can defer is not one.
|
|
181
|
-
if (e.msSinceLastReachable > e.backstopMs)
|
|
182
|
-
return { exit: true, reason: "backstop" };
|
|
183
|
-
// AN OPEN TRANSPORT IS ONGOING POSITIVE EVIDENCE, NOT AN EXCUSE FOR ITS ABSENCE, so inside the
|
|
184
|
-
// backstop it still outranks the starvation and evidence clauses below. This daemon's own
|
|
185
|
-
// connection to that same broker is up; it is serving on it; its lease renews across it. A fresh
|
|
186
|
-
// side-probe that cannot complete a handshake to an address we are CURRENTLY CONNECTED TO is a
|
|
187
|
-
// statement about this process's ability to open a new socket, not about the server.
|
|
188
|
-
//
|
|
189
|
-
// Inside the backstop this is still the strongest thing the daemon knows: when the broker really
|
|
190
|
-
// dies the flag goes false, the client detects the loss, the endpoint's status watcher turns it
|
|
191
|
-
// into `transport: connected=false`, and every clause below is live again from that instant. What
|
|
192
|
-
// the flag CANNOT do any more is defer the exit indefinitely while it is stale, because the bound
|
|
193
|
-
// above it has already been decided.
|
|
194
|
-
if (e.transportConnected)
|
|
195
|
-
return { exit: false, reason: "transport-live" };
|
|
196
|
-
// "I could not ask." Credit the lag this process MEASURED on itself before reading the clock as a
|
|
197
|
-
// statement about the server.
|
|
198
|
-
const unstarvedMs = e.msSinceLastReachable - e.starvedMs;
|
|
199
|
-
if (unstarvedMs <= e.windowMs)
|
|
200
|
-
return { exit: false, reason: "starved" };
|
|
201
|
-
// "I asked and was told no", but not yet often enough to be a verdict.
|
|
202
|
-
if (e.completedNegatives < e.requiredNegatives)
|
|
203
|
-
return { exit: false, reason: "insufficient-evidence" };
|
|
204
|
-
return { exit: true, reason: "broker-gone" };
|
|
205
|
-
}
|
|
206
18
|
/**
|
|
207
19
|
* Turn a lease reading into an action.
|
|
208
20
|
*
|
|
@@ -226,8 +38,8 @@ export function leaseAction(reading) {
|
|
|
226
38
|
case "gone": return "reacquire";
|
|
227
39
|
// A different process holds this shard. Exit so the holder stays single.
|
|
228
40
|
case "taken": return "exit";
|
|
229
|
-
// Could not ask. An unanswerable question is not a negative answer;
|
|
230
|
-
// the "the server is gone" decision, and it decides on evidence.
|
|
41
|
+
// Could not ask. An unanswerable question is not a negative answer; `DeliveryTransportHealth`
|
|
42
|
+
// owns the "the server is gone" decision, and it decides on evidence.
|
|
231
43
|
case "unknown": return "keep-serving";
|
|
232
44
|
}
|
|
233
45
|
}
|
|
@@ -271,7 +83,7 @@ export class LoopLagMeter {
|
|
|
271
83
|
/** Disjoint, sorted [start, end] intervals of measured non-running time in the current window.
|
|
272
84
|
* Bounded: overlapping charges merge, and `reset` clears them on every positive. */
|
|
273
85
|
spans = [];
|
|
274
|
-
constructor(intervalMs
|
|
86
|
+
constructor(intervalMs) {
|
|
275
87
|
this.intervalMs = intervalMs;
|
|
276
88
|
}
|
|
277
89
|
/** Record a firing at `now`; returns the lag this particular gap contributed.
|
|
@@ -352,7 +164,7 @@ export class LoopLagMeter {
|
|
|
352
164
|
* did not have can never exceed time that passed. Overlap is removed by that bound and nothing
|
|
353
165
|
* else is discarded, so the sum stays as informative as its parts allow.
|
|
354
166
|
*
|
|
355
|
-
* Load-bearing, not hygiene: `
|
|
167
|
+
* Load-bearing, not hygiene: `DeliveryTransportHealth` SUBTRACTS this from elapsed time.
|
|
356
168
|
* Unclamped, a stall charged twice drives unstarved time negative, and NO amount of real outage
|
|
357
169
|
* can then clear the evidence clause - a genuinely dead broker stops being detectable by evidence
|
|
358
170
|
* and survives to the backstop instead. Measured: a 30s stall moved an exit from 44s to 62s. */
|
package/dist/watchdog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../src/watchdog.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cotal-ai/delivery",
|
|
3
3
|
"description": "Cotal delivery daemon: the server-side Plane-3 durable backstop (fan-out writer + trusted reader + membership/ACL authority), a scoped least-privilege NATS client co-located with the broker.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.76.0",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@cotal-ai/core": "0.
|
|
22
|
-
"@cotal-ai/workspace": "0.
|
|
21
|
+
"@cotal-ai/core": "0.76.0",
|
|
22
|
+
"@cotal-ai/workspace": "0.76.0",
|
|
23
23
|
"@nats-io/jetstream": "^3.4.0"
|
|
24
24
|
},
|
|
25
25
|
"files": [
|