@cotal-ai/manager 0.33.3 → 0.33.4
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/manager.d.ts +31 -73
- package/dist/manager.d.ts.map +1 -1
- package/dist/manager.js +67 -149
- package/dist/manager.js.map +1 -1
- package/package.json +5 -5
package/dist/manager.d.ts
CHANGED
|
@@ -484,19 +484,9 @@ export declare class Manager {
|
|
|
484
484
|
private leaseInfo?;
|
|
485
485
|
private leaseRevision?;
|
|
486
486
|
private leaseTimer?;
|
|
487
|
-
/**
|
|
488
|
-
*
|
|
489
|
-
|
|
490
|
-
* at all, so it must track the last TTL-refreshing WRITE and not the last successful observation.
|
|
491
|
-
* A re-read at the same revision is deliberately NOT a refresh: it proves the key exists at that
|
|
492
|
-
* instant, while the key still expires when the last landed write said it would.
|
|
493
|
-
*
|
|
494
|
-
* MONOTONIC (`performance.now`), not wall clock, because it is only ever read as an ELAPSED time.
|
|
495
|
-
* `Date.now` steps on an NTP correction or a suspend/resume, and a backward step would shorten the
|
|
496
|
-
* measured gap and let this instance serve past the TTL with no proof it still holds the key. The
|
|
497
|
-
* initial value is `-Infinity` so "never refreshed" reads as an infinite gap and fails closed,
|
|
498
|
-
* rather than as a small one at process start when a monotonic clock is still near zero. */
|
|
499
|
-
private leaseConfirmedAt;
|
|
487
|
+
/** What the last renew tick learned about this instance's key. Only a CHANGE of state is printed
|
|
488
|
+
* (see {@link noteLease}), so an outage of hours is one line going in and one line coming out. */
|
|
489
|
+
private leaseState;
|
|
500
490
|
/** A renew is in flight. The tick must not start a second one: both would read the same cached
|
|
501
491
|
* revision, so whichever lands second CASes against a sequence the first already moved. */
|
|
502
492
|
private leaseRenewInFlight;
|
|
@@ -609,15 +599,13 @@ export declare class Manager {
|
|
|
609
599
|
private fileDigest;
|
|
610
600
|
private fileDigestOrEmpty;
|
|
611
601
|
private resumeEntry;
|
|
612
|
-
/** Tear down every managed agent's footprint
|
|
613
|
-
* B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
|
|
602
|
+
/** Tear down every managed agent's footprint on a graceful {@link stop} (#159 B2). A manager exit is
|
|
614
603
|
* a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
|
|
615
604
|
* rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
|
|
616
605
|
* time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
|
|
617
606
|
* best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
|
|
618
607
|
* The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
|
|
619
|
-
* touches NEITHER the lease NOR the endpoints — the caller owns those
|
|
620
|
-
* the key, which may now belong to a replacement holder). */
|
|
608
|
+
* touches NEITHER the lease NOR the endpoints — the caller owns those. */
|
|
621
609
|
private teardownManagedAgents;
|
|
622
610
|
private stopRetainedAgentsOnExit;
|
|
623
611
|
stop(): Promise<void>;
|
|
@@ -630,11 +618,8 @@ export declare class Manager {
|
|
|
630
618
|
* deadline — on every `cotal ps`, `stop` and `attach` in that space, for good. A manager that is
|
|
631
619
|
* shutting down is the one participant that KNOWS it is going away, so it says so.
|
|
632
620
|
*
|
|
633
|
-
*
|
|
634
|
-
*
|
|
635
|
-
* instanceId, so deregistering there could delete a live successor's registration. The delete is
|
|
636
|
-
* additionally revision-pinned inside {@link deregisterServiceInstance}, so even that race removes
|
|
637
|
-
* nothing — this is the second fence, not the only one.
|
|
621
|
+
* The delete is revision-pinned inside {@link deregisterServiceInstance}, so a successor that
|
|
622
|
+
* persists the SAME instanceId and has already re-registered loses nothing to a slow stop here.
|
|
638
623
|
*
|
|
639
624
|
* Best-effort and LOUD, matching every other teardown step: a broker that is already gone must not
|
|
640
625
|
* turn a stop into a failure, but a registration that survives a stop is the exact defect this
|
|
@@ -644,64 +629,37 @@ export declare class Manager {
|
|
|
644
629
|
*/
|
|
645
630
|
private deregisterServiceOnStop;
|
|
646
631
|
/** Stop the v0.4 service-endpoint serve loop (drain subscriptions, await in-flight handlers)
|
|
647
|
-
* and drop its dedicated connection. Best-effort
|
|
648
|
-
*
|
|
632
|
+
* and drop its dedicated connection. Best-effort so a graceful stop completes its remaining
|
|
633
|
+
* teardown even when the broker is gone. */
|
|
649
634
|
private stopServiceServe;
|
|
650
|
-
/**
|
|
651
|
-
*
|
|
652
|
-
* A FAILED RENEW IS NOT A LOST LEASE, and the difference is the whole shape of this method. The CAS
|
|
653
|
-
* renew throws for reasons that prove entirely different things, and one of them proves nothing at
|
|
654
|
-
* all: a request that gets NO ANSWER within its deadline does not establish that the write failed,
|
|
655
|
-
* that the key expired, or that anyone else took it. It may even have LANDED, with only the
|
|
656
|
-
* acknowledgement lost. Terminating on it kills a healthy manager and takes its agents with it.
|
|
635
|
+
/** Keep this instance's liveness key fresh, and NEVER end the process over it.
|
|
657
636
|
*
|
|
658
|
-
*
|
|
659
|
-
*
|
|
660
|
-
*
|
|
661
|
-
*
|
|
637
|
+
* A renew that throws is a question, not a verdict: the request may have timed out with the write
|
|
638
|
+
* landed and only its acknowledgement lost, the key may have expired during a stall, or a same-id
|
|
639
|
+
* process may hold it. The verdict comes from RE-READING the key ({@link reconcileLease}), and each
|
|
640
|
+
* answer has one response, none of which is exiting:
|
|
641
|
+
* - `held`: adopt the broker's revision and carry on.
|
|
642
|
+
* - `gone`: the key expired or was released while this process was still here, so put it back. The
|
|
643
|
+
* create is atomic, so a same-id process that got there first shows up as `taken` next tick.
|
|
644
|
+
* - `taken`: a different process holds this instance's key. Say so, once, and keep serving. The
|
|
645
|
+
* registration takeover is what fences a superseded serve family at the broker, and which of the
|
|
646
|
+
* two processes goes is the operator's call, not this one's.
|
|
647
|
+
* - `unknown`: the broker could not be asked. Keep serving and ask again next tick, for as long as it
|
|
648
|
+
* takes. A manager that cannot reach its broker gains nothing by ending itself, and the seats it
|
|
649
|
+
* holds lose everything (a pty child dies with its parent).
|
|
662
650
|
*
|
|
663
|
-
*
|
|
664
|
-
*
|
|
665
|
-
*
|
|
666
|
-
* same revision" IS an answer and we keep serving on it, but it did not touch the key, so it buys
|
|
667
|
-
* no time — reading a key is not refreshing it. Inside the TTL the budget affords another
|
|
668
|
-
* renew-and-re-read pair ({@link MANAGER_LEASE_RENEW_MS}), which is what makes waiting safe.
|
|
669
|
-
*
|
|
670
|
-
* FAILING CLOSED IS FOR THIS INSTANCE ONLY: stop serving + tear down OUR managed agents + exit, so a
|
|
671
|
-
* stalled instance can't keep double-processing under a key a same-id restart may re-acquire. Keyed
|
|
672
|
-
* per instance, so it NEVER frees or touches a sibling manager's key and NEVER freezes the space
|
|
673
|
-
* (security pin 6) — the sibling keeps serving. We do NOT re-acquire (a same-id restart may already
|
|
674
|
-
* be live) and do NOT release the key (it may be the restart's). */
|
|
651
|
+
* This replaces a fail-close that ended the process one tick past the lease TTL with no answer, which
|
|
652
|
+
* on a live mesh turned a ten-second broker or KV outage into a manager outage that lasted until an
|
|
653
|
+
* operator noticed. */
|
|
675
654
|
private renewLease;
|
|
655
|
+
/** Print `what` only when the lease state CHANGES. The renew ticks every few seconds, so a long
|
|
656
|
+
* outage would otherwise print the same line thousands of times; an operator needs the line going
|
|
657
|
+
* in and the line coming out, with the instance and the space on both. */
|
|
658
|
+
private noteLease;
|
|
676
659
|
/** What the broker actually says about THIS instance's lease key, right now. `unknown` is a first-class
|
|
677
660
|
* answer and never collapses into `gone`: not being able to look is not the same fact as looking and
|
|
678
|
-
* finding nothing
|
|
661
|
+
* finding nothing. */
|
|
679
662
|
private reconcileLease;
|
|
680
|
-
/**
|
|
681
|
-
* Release ownership of every managed agent WITHOUT stopping it and WITHOUT deprovisioning its
|
|
682
|
-
* footprint — the child disposition for an exit this instance did not choose.
|
|
683
|
-
*
|
|
684
|
-
* WHY THIS IS NOT {@link teardownManagedAgents}. Losing the argument about who may SERVE a space
|
|
685
|
-
* is not a finding about whether these agents should die. The two were one act on the lease-loss
|
|
686
|
-
* path, so a supervisor that could not reach the broker for a lease TTL killed every seat it held
|
|
687
|
-
* and revoked their credentials. That is the wrong conclusion drawn from a connectivity fact, and
|
|
688
|
-
* on a live mesh it is reached over a timeout the very next retry would have cleared.
|
|
689
|
-
*
|
|
690
|
-
* WHAT IT LEAVES BEHIND, AND WHY THAT IS SAFE. Each agent is marked `suppressCleanup` before it
|
|
691
|
-
* leaves the map, so no later call site in this process can select it for deprovision, and its
|
|
692
|
-
* credential, durables and broker footprint outlive us. That is EXACTLY the state an abrupt death
|
|
693
|
-
* leaves (SIGKILL, OOM, power loss), which the next manager's static reconcile sweep already
|
|
694
|
-
* recovers by terminalizing an active slot with no live managed owner. The difference is that
|
|
695
|
-
* this one is announced.
|
|
696
|
-
*
|
|
697
|
-
* WHAT IT DOES NOT CLAIM. Detaching does not make a child outlive the process. A `node-pty` child
|
|
698
|
-
* dies when its spawning process exits, measured, and no manager-side policy changes that; only a
|
|
699
|
-
* runtime whose child is owned elsewhere (tmux/herdr/cmux) actually survives. This method removes
|
|
700
|
-
* the manager's DELIBERATE kill and revoke, which is the half the manager controls.
|
|
701
|
-
*/
|
|
702
|
-
private detachManagedAgents;
|
|
703
|
-
/** Stop serving and end this process, naming what was PROVED rather than what merely failed. */
|
|
704
|
-
private failClosedOnLeaseLoss;
|
|
705
663
|
private opFinalizeResume;
|
|
706
664
|
private opCommitResume;
|
|
707
665
|
private opResumePreserved;
|
package/dist/manager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/dist/manager.js
CHANGED
|
@@ -4,7 +4,7 @@ import { hostname } from "node:os";
|
|
|
4
4
|
import { connect, credsAuthenticator } from "@nats-io/transport-node";
|
|
5
5
|
import { existsSync, lstatSync, readFileSync, rmSync } from "node:fs";
|
|
6
6
|
import { join, dirname, resolve } from "node:path";
|
|
7
|
-
import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER,
|
|
7
|
+
import { CotalEndpoint, DEFAULT_SERVER, DEV_OWNER, MANAGER_LEASE_RENEW_MS, STANDING_RENEWABLE_TTL_SEC, agentFilePath, clearSpaceHistory, connectorServers, spawnEnvAllow, deprovisionAgent, firstFreeName, spawnNameError, idFromCreds, inspectCredHealth, loadAgentFile, loadCotalConfig, mintCreds, mintLifecycleUid, mkSecretDir, newIdentity, actionContext, parsePrincipalKey, parseShareSelection, principalKey, probeConnect, provisionAgent, provisionAgentDurables, registry, resolveAuthProvider, saveAgentFile, subjectMatches, AUTH_ENDPOINT, EP_CMD_RETIRE_LIFECYCLE, epRequestSubject, epCallerReplyFilter, parseEpSubject, controlServiceSubject, eventChannelPrincipal, } from "@cotal-ai/core";
|
|
8
8
|
import { agentAuthState, agentCredsDir, agentLifecycleSecretFilePaths, agentSecretFilePaths, agentSecretKeyForFile, authDir, connectorInstallHint, DEFAULT_CONNECTOR, defaultAgentType, DELIVERY_CREDS_KEY, findCotalRoot, getSpaceAuth, hasUserAuthState, loadManagerInstanceIdentity, loadMeshes, manifestExtensionNames, materializeFromManifest, materializeSecretToFile, MEMBERSHIP_RW_CREDS_KEY, mergeLaunchOptions, remintDaemonCreds, resolveOnPath, saveManagerInstanceIdentity, SYSTEM_CREDS_FILES, userAuthStateDir, workspaceSecretStore, writeRenewalRecord } from "@cotal-ai/workspace";
|
|
9
9
|
import { createRuntime, } from "./runtime/index.js";
|
|
10
10
|
import { AttachEndpoint } from "./attach-endpoint.js";
|
|
@@ -338,19 +338,9 @@ export class Manager {
|
|
|
338
338
|
leaseInfo;
|
|
339
339
|
leaseRevision;
|
|
340
340
|
leaseTimer;
|
|
341
|
-
/**
|
|
342
|
-
*
|
|
343
|
-
|
|
344
|
-
* at all, so it must track the last TTL-refreshing WRITE and not the last successful observation.
|
|
345
|
-
* A re-read at the same revision is deliberately NOT a refresh: it proves the key exists at that
|
|
346
|
-
* instant, while the key still expires when the last landed write said it would.
|
|
347
|
-
*
|
|
348
|
-
* MONOTONIC (`performance.now`), not wall clock, because it is only ever read as an ELAPSED time.
|
|
349
|
-
* `Date.now` steps on an NTP correction or a suspend/resume, and a backward step would shorten the
|
|
350
|
-
* measured gap and let this instance serve past the TTL with no proof it still holds the key. The
|
|
351
|
-
* initial value is `-Infinity` so "never refreshed" reads as an infinite gap and fails closed,
|
|
352
|
-
* rather than as a small one at process start when a monotonic clock is still near zero. */
|
|
353
|
-
leaseConfirmedAt = Number.NEGATIVE_INFINITY;
|
|
341
|
+
/** What the last renew tick learned about this instance's key. Only a CHANGE of state is printed
|
|
342
|
+
* (see {@link noteLease}), so an outage of hours is one line going in and one line coming out. */
|
|
343
|
+
leaseState = "held";
|
|
354
344
|
/** A renew is in flight. The tick must not start a second one: both would read the same cached
|
|
355
345
|
* revision, so whichever lands second CASes against a sequence the first already moved. */
|
|
356
346
|
leaseRenewInFlight = false;
|
|
@@ -562,11 +552,11 @@ export class Manager {
|
|
|
562
552
|
// second workspace root) has a distinct id ⇒ a distinct key ⇒ it coexists; the create THROWS only
|
|
563
553
|
// when the SAME instance id is already live (a same-root double-start, or a restart racing the
|
|
564
554
|
// crashed predecessor's not-yet-expired key), and we REFUSE loud. A crashed holder's key auto-expires
|
|
565
|
-
// (bucket TTL). Losing
|
|
555
|
+
// (bucket TTL). Losing the key LATER never ends this process: the renew loop puts it back or keeps
|
|
556
|
+
// retrying ({@link renewLease}).
|
|
566
557
|
this.leaseInfo = { holder: this.ep.ref().id, instanceId: this.managerInstanceId, runtime: this.runtime.kind, root: resolve(this.workspaceRoot), pid: process.pid };
|
|
567
558
|
try {
|
|
568
559
|
this.leaseRevision = await this.ep.acquireManagerLease(this.leaseInfo);
|
|
569
|
-
this.leaseConfirmedAt = performance.now();
|
|
570
560
|
}
|
|
571
561
|
catch (e) {
|
|
572
562
|
// Our OWN instance id already holds a live key ⇒ refuse. Anything else (e.g. a KV/JS error) is a
|
|
@@ -1173,15 +1163,13 @@ export class Manager {
|
|
|
1173
1163
|
startedAt: new Date(a.startedAt).toISOString(),
|
|
1174
1164
|
};
|
|
1175
1165
|
}
|
|
1176
|
-
/** Tear down every managed agent's footprint
|
|
1177
|
-
* B2): graceful {@link stop} AND the fail-closed lease-loss exit ({@link renewLease}). A manager exit is
|
|
1166
|
+
/** Tear down every managed agent's footprint on a graceful {@link stop} (#159 B2). A manager exit is
|
|
1178
1167
|
* a mass agent-exit, and without this its agents' footprints (creds files + `dm_`/`dlv_` durables + ACL
|
|
1179
1168
|
* rows) would orphan exactly as the per-agent exit path prevents. Hard-stop each child (an exit has no
|
|
1180
1169
|
* time for the graceful grace window) and AWAIT its deprovision — bounded per agent (`withTimeout`) and
|
|
1181
1170
|
* best-effort (`allSettled` + a loud log), so one slow/failed teardown can neither hang nor abort exit.
|
|
1182
1171
|
* The creds file is dropped even if the broker teardown fails (see {@link deprovision}). Deliberately
|
|
1183
|
-
* touches NEITHER the lease NOR the endpoints — the caller owns those
|
|
1184
|
-
* the key, which may now belong to a replacement holder). */
|
|
1172
|
+
* touches NEITHER the lease NOR the endpoints — the caller owns those. */
|
|
1185
1173
|
async teardownManagedAgents() {
|
|
1186
1174
|
const managed = [...this.agents.values()];
|
|
1187
1175
|
for (const a of managed) {
|
|
@@ -1254,11 +1242,8 @@ export class Manager {
|
|
|
1254
1242
|
* deadline — on every `cotal ps`, `stop` and `attach` in that space, for good. A manager that is
|
|
1255
1243
|
* shutting down is the one participant that KNOWS it is going away, so it says so.
|
|
1256
1244
|
*
|
|
1257
|
-
*
|
|
1258
|
-
*
|
|
1259
|
-
* instanceId, so deregistering there could delete a live successor's registration. The delete is
|
|
1260
|
-
* additionally revision-pinned inside {@link deregisterServiceInstance}, so even that race removes
|
|
1261
|
-
* nothing — this is the second fence, not the only one.
|
|
1245
|
+
* The delete is revision-pinned inside {@link deregisterServiceInstance}, so a successor that
|
|
1246
|
+
* persists the SAME instanceId and has already re-registered loses nothing to a slow stop here.
|
|
1262
1247
|
*
|
|
1263
1248
|
* Best-effort and LOUD, matching every other teardown step: a broker that is already gone must not
|
|
1264
1249
|
* turn a stop into a failure, but a registration that survives a stop is the exact defect this
|
|
@@ -1284,8 +1269,8 @@ export class Manager {
|
|
|
1284
1269
|
}
|
|
1285
1270
|
}
|
|
1286
1271
|
/** Stop the v0.4 service-endpoint serve loop (drain subscriptions, await in-flight handlers)
|
|
1287
|
-
* and drop its dedicated connection. Best-effort
|
|
1288
|
-
*
|
|
1272
|
+
* and drop its dedicated connection. Best-effort so a graceful stop completes its remaining
|
|
1273
|
+
* teardown even when the broker is gone. */
|
|
1289
1274
|
async stopServiceServe() {
|
|
1290
1275
|
const s = this.serviceServe;
|
|
1291
1276
|
if (!s)
|
|
@@ -1305,35 +1290,29 @@ export class Manager {
|
|
|
1305
1290
|
catch { /* best effort */ }
|
|
1306
1291
|
}
|
|
1307
1292
|
}
|
|
1308
|
-
/**
|
|
1309
|
-
*
|
|
1310
|
-
* A FAILED RENEW IS NOT A LOST LEASE, and the difference is the whole shape of this method. The CAS
|
|
1311
|
-
* renew throws for reasons that prove entirely different things, and one of them proves nothing at
|
|
1312
|
-
* all: a request that gets NO ANSWER within its deadline does not establish that the write failed,
|
|
1313
|
-
* that the key expired, or that anyone else took it. It may even have LANDED, with only the
|
|
1314
|
-
* acknowledgement lost. Terminating on it kills a healthy manager and takes its agents with it.
|
|
1315
|
-
*
|
|
1316
|
-
* So the renew failing is a question, not a verdict, and the verdict comes from RE-READING the key
|
|
1317
|
-
* ({@link CotalEndpoint.readOwnManagerLease}, which separates "it is gone" from "I could not find
|
|
1318
|
-
* out"). We fail closed on PROOF — the key is absent, or it is present and holds someone else — and
|
|
1319
|
-
* otherwise keep serving, adopting whatever revision the broker actually has.
|
|
1293
|
+
/** Keep this instance's liveness key fresh, and NEVER end the process over it.
|
|
1320
1294
|
*
|
|
1321
|
-
*
|
|
1322
|
-
*
|
|
1323
|
-
*
|
|
1324
|
-
*
|
|
1325
|
-
*
|
|
1326
|
-
*
|
|
1295
|
+
* A renew that throws is a question, not a verdict: the request may have timed out with the write
|
|
1296
|
+
* landed and only its acknowledgement lost, the key may have expired during a stall, or a same-id
|
|
1297
|
+
* process may hold it. The verdict comes from RE-READING the key ({@link reconcileLease}), and each
|
|
1298
|
+
* answer has one response, none of which is exiting:
|
|
1299
|
+
* - `held`: adopt the broker's revision and carry on.
|
|
1300
|
+
* - `gone`: the key expired or was released while this process was still here, so put it back. The
|
|
1301
|
+
* create is atomic, so a same-id process that got there first shows up as `taken` next tick.
|
|
1302
|
+
* - `taken`: a different process holds this instance's key. Say so, once, and keep serving. The
|
|
1303
|
+
* registration takeover is what fences a superseded serve family at the broker, and which of the
|
|
1304
|
+
* two processes goes is the operator's call, not this one's.
|
|
1305
|
+
* - `unknown`: the broker could not be asked. Keep serving and ask again next tick, for as long as it
|
|
1306
|
+
* takes. A manager that cannot reach its broker gains nothing by ending itself, and the seats it
|
|
1307
|
+
* holds lose everything (a pty child dies with its parent).
|
|
1327
1308
|
*
|
|
1328
|
-
*
|
|
1329
|
-
*
|
|
1330
|
-
*
|
|
1331
|
-
* (security pin 6) — the sibling keeps serving. We do NOT re-acquire (a same-id restart may already
|
|
1332
|
-
* be live) and do NOT release the key (it may be the restart's). */
|
|
1309
|
+
* This replaces a fail-close that ended the process one tick past the lease TTL with no answer, which
|
|
1310
|
+
* on a live mesh turned a ten-second broker or KV outage into a manager outage that lasted until an
|
|
1311
|
+
* operator noticed. */
|
|
1333
1312
|
async renewLease() {
|
|
1334
1313
|
// A renew that runs long must not be overlapped by the next tick: both would CAS against the same
|
|
1335
1314
|
// cached revision, so whichever lands second is refused over a sequence the first legitimately
|
|
1336
|
-
// moved
|
|
1315
|
+
// moved, a conflict this instance manufactured itself.
|
|
1337
1316
|
if (this.leaseRenewInFlight)
|
|
1338
1317
|
return;
|
|
1339
1318
|
this.leaseRenewInFlight = true;
|
|
@@ -1342,52 +1321,59 @@ export class Manager {
|
|
|
1342
1321
|
return;
|
|
1343
1322
|
try {
|
|
1344
1323
|
this.leaseRevision = await this.ep.renewManagerLease(this.leaseInfo, this.leaseRevision);
|
|
1345
|
-
this.
|
|
1324
|
+
this.noteLease("held", `renews its liveness lease again (revision ${this.leaseRevision})`);
|
|
1346
1325
|
return;
|
|
1347
1326
|
}
|
|
1348
1327
|
catch (renewError) {
|
|
1349
1328
|
const why = renewError.message;
|
|
1350
1329
|
const verdict = await this.reconcileLease();
|
|
1351
|
-
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
if (verdict.kind === "unknown") {
|
|
1372
|
-
const since = performance.now() - this.leaseConfirmedAt;
|
|
1373
|
-
if (since < MANAGER_LEASE_TTL_MS) {
|
|
1374
|
-
console.error(`! manager instance ${this.managerInstanceId} could not renew its liveness lease for space "${this.space}" (${why}) and could not re-read it either (${verdict.why}) - that proves nothing about the key, and its lease was last refreshed ${Math.round(since)}ms ago, so this instance keeps serving and will retry`);
|
|
1330
|
+
switch (verdict.kind) {
|
|
1331
|
+
case "held":
|
|
1332
|
+
// The re-read is the broker's truth about the revision: adopt it, whether our write landed
|
|
1333
|
+
// with its acknowledgement lost (revision moved) or never landed (revision unchanged).
|
|
1334
|
+
this.leaseRevision = verdict.revision;
|
|
1335
|
+
this.noteLease("held-unrenewed", `could not renew its liveness lease (${why}) but the key is still its own at revision ${verdict.revision}; serving, retrying`);
|
|
1336
|
+
return;
|
|
1337
|
+
case "gone": {
|
|
1338
|
+
// The key being gone is a fact before the re-acquire is attempted, so a successful
|
|
1339
|
+
// re-acquire is a change of state (gone to held) and prints, every time it happens.
|
|
1340
|
+
const before = this.leaseState;
|
|
1341
|
+
this.leaseState = "gone";
|
|
1342
|
+
try {
|
|
1343
|
+
this.leaseRevision = await this.ep.acquireManagerLease(this.leaseInfo);
|
|
1344
|
+
this.noteLease("held", `found its liveness lease key gone (renew: ${why}) and re-acquired it at revision ${this.leaseRevision}`);
|
|
1345
|
+
}
|
|
1346
|
+
catch (e) {
|
|
1347
|
+
this.leaseState = before;
|
|
1348
|
+
this.noteLease("gone", `found its liveness lease key gone (renew: ${why}) and could not re-acquire it yet (${e.message}); serving, retrying`);
|
|
1349
|
+
}
|
|
1375
1350
|
return;
|
|
1376
1351
|
}
|
|
1377
|
-
|
|
1352
|
+
case "taken":
|
|
1353
|
+
this.noteLease("taken", `finds its liveness lease key held by ${verdict.by}, not by this process (renew: ${why}); serving, retrying. Two processes claim manager instance ${this.managerInstanceId}: stop one of them`);
|
|
1354
|
+
return;
|
|
1355
|
+
case "unknown":
|
|
1356
|
+
this.noteLease("unknown", `could not renew its liveness lease (${why}) or re-read it (${verdict.why}); serving, retrying until the broker answers`);
|
|
1357
|
+
return;
|
|
1378
1358
|
}
|
|
1379
|
-
return await this.failClosedOnLeaseLoss(verdict.kind === "gone"
|
|
1380
|
-
? `its lease key is GONE from the bucket - expired or released (renew: ${why})`
|
|
1381
|
-
: `its lease key is now held by ${verdict.by} and not by this process (renew: ${why})`);
|
|
1382
1359
|
}
|
|
1383
1360
|
}
|
|
1384
1361
|
finally {
|
|
1385
1362
|
this.leaseRenewInFlight = false;
|
|
1386
1363
|
}
|
|
1387
1364
|
}
|
|
1365
|
+
/** Print `what` only when the lease state CHANGES. The renew ticks every few seconds, so a long
|
|
1366
|
+
* outage would otherwise print the same line thousands of times; an operator needs the line going
|
|
1367
|
+
* in and the line coming out, with the instance and the space on both. */
|
|
1368
|
+
noteLease(state, what) {
|
|
1369
|
+
if (state === this.leaseState)
|
|
1370
|
+
return;
|
|
1371
|
+
this.leaseState = state;
|
|
1372
|
+
console.error(`${state === "held" ? "✓" : "!"} manager instance ${this.managerInstanceId} ${what} (space "${this.space}")`);
|
|
1373
|
+
}
|
|
1388
1374
|
/** What the broker actually says about THIS instance's lease key, right now. `unknown` is a first-class
|
|
1389
1375
|
* answer and never collapses into `gone`: not being able to look is not the same fact as looking and
|
|
1390
|
-
* finding nothing
|
|
1376
|
+
* finding nothing. */
|
|
1391
1377
|
async reconcileLease() {
|
|
1392
1378
|
let current;
|
|
1393
1379
|
try {
|
|
@@ -1404,74 +1390,6 @@ export class Manager {
|
|
|
1404
1390
|
return { kind: "taken", by: `pid ${current.info.pid} (${current.info.runtime}, root ${current.info.root})` };
|
|
1405
1391
|
return { kind: "held", revision: current.revision };
|
|
1406
1392
|
}
|
|
1407
|
-
/**
|
|
1408
|
-
* Release ownership of every managed agent WITHOUT stopping it and WITHOUT deprovisioning its
|
|
1409
|
-
* footprint — the child disposition for an exit this instance did not choose.
|
|
1410
|
-
*
|
|
1411
|
-
* WHY THIS IS NOT {@link teardownManagedAgents}. Losing the argument about who may SERVE a space
|
|
1412
|
-
* is not a finding about whether these agents should die. The two were one act on the lease-loss
|
|
1413
|
-
* path, so a supervisor that could not reach the broker for a lease TTL killed every seat it held
|
|
1414
|
-
* and revoked their credentials. That is the wrong conclusion drawn from a connectivity fact, and
|
|
1415
|
-
* on a live mesh it is reached over a timeout the very next retry would have cleared.
|
|
1416
|
-
*
|
|
1417
|
-
* WHAT IT LEAVES BEHIND, AND WHY THAT IS SAFE. Each agent is marked `suppressCleanup` before it
|
|
1418
|
-
* leaves the map, so no later call site in this process can select it for deprovision, and its
|
|
1419
|
-
* credential, durables and broker footprint outlive us. That is EXACTLY the state an abrupt death
|
|
1420
|
-
* leaves (SIGKILL, OOM, power loss), which the next manager's static reconcile sweep already
|
|
1421
|
-
* recovers by terminalizing an active slot with no live managed owner. The difference is that
|
|
1422
|
-
* this one is announced.
|
|
1423
|
-
*
|
|
1424
|
-
* WHAT IT DOES NOT CLAIM. Detaching does not make a child outlive the process. A `node-pty` child
|
|
1425
|
-
* dies when its spawning process exits, measured, and no manager-side policy changes that; only a
|
|
1426
|
-
* runtime whose child is owned elsewhere (tmux/herdr/cmux) actually survives. This method removes
|
|
1427
|
-
* the manager's DELIBERATE kill and revoke, which is the half the manager controls.
|
|
1428
|
-
*/
|
|
1429
|
-
detachManagedAgents(reason) {
|
|
1430
|
-
const managed = [...this.agents.values()];
|
|
1431
|
-
for (const a of managed) {
|
|
1432
|
-
// Set BEFORE the map delete: the flag is what every deprovision call site filters on, and an
|
|
1433
|
-
// agent that left the map without it is one a concurrent path could still select.
|
|
1434
|
-
a.suppressCleanup = true;
|
|
1435
|
-
this.agents.delete(a.name);
|
|
1436
|
-
}
|
|
1437
|
-
if (managed.length === 0)
|
|
1438
|
-
return;
|
|
1439
|
-
const seats = managed.map((a) => `${a.name} (${a.id}${a.handle.pid !== undefined ? `, pid ${a.handle.pid}` : ""})`).join(", ");
|
|
1440
|
-
console.error(`! manager instance ${this.managerInstanceId} detached ${managed.length} managed agent(s) - ${reason}\n` +
|
|
1441
|
-
` Left running and NOT stopped by this manager; their credentials and durables are RETAINED, not revoked: ${seats}\n` +
|
|
1442
|
-
` A child owned by this process (the pty runtime) still dies with it; a child owned elsewhere (tmux/herdr/cmux) keeps running.\n` +
|
|
1443
|
-
` NEXT: start a manager for space "${this.space}" - its reconcile sweep recovers any seat whose child did not survive.`);
|
|
1444
|
-
}
|
|
1445
|
-
/** Stop serving and end this process, naming what was PROVED rather than what merely failed. */
|
|
1446
|
-
async failClosedOnLeaseLoss(proof) {
|
|
1447
|
-
console.error(`! manager instance ${this.managerInstanceId} lost its liveness lease for space "${this.space}": ${proof} - shutting down THIS instance (its serving only; siblings keep the space)`);
|
|
1448
|
-
if (this.leaseTimer)
|
|
1449
|
-
clearInterval(this.leaseTimer);
|
|
1450
|
-
// DETACH rather than tear down — but ONLY from the active state. A cut that has committed and
|
|
1451
|
-
// not finalized still has an inventory the successor will replay, and children left running
|
|
1452
|
-
// would be spawned a SECOND time under the same identities; that window keeps the retained stop
|
|
1453
|
-
// (which stops the child but does not deprovision it). Do NOT release the lease key (it may
|
|
1454
|
-
// belong to the replacement holder). Best-effort, like ep/attach.
|
|
1455
|
-
try {
|
|
1456
|
-
if (this.maintenanceState === "active" && !this.resumeRequired)
|
|
1457
|
-
this.detachManagedAgents(`lease loss: ${proof}`);
|
|
1458
|
-
else
|
|
1459
|
-
await this.stopRetainedAgentsOnExit();
|
|
1460
|
-
}
|
|
1461
|
-
catch { /* best effort */ }
|
|
1462
|
-
await this.stopServiceServe();
|
|
1463
|
-
await this.stopGoalWriter();
|
|
1464
|
-
await this.stopSessionPlane();
|
|
1465
|
-
try {
|
|
1466
|
-
await this.ep.stop();
|
|
1467
|
-
}
|
|
1468
|
-
catch { /* best effort */ }
|
|
1469
|
-
try {
|
|
1470
|
-
await this.attach.stop();
|
|
1471
|
-
}
|
|
1472
|
-
catch { /* best effort */ }
|
|
1473
|
-
process.exit(1);
|
|
1474
|
-
}
|
|
1475
1393
|
async opFinalizeResume(rawArgs) {
|
|
1476
1394
|
{
|
|
1477
1395
|
let args;
|