@substrat-run/adapter-cloudflare 0.134.0 → 0.136.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/connector-calls.d.ts +11 -0
- package/dist/connector-calls.d.ts.map +1 -0
- package/dist/connector-calls.js +10 -0
- package/dist/connector-calls.js.map +1 -0
- package/dist/control-plane-do.d.ts +76 -0
- package/dist/control-plane-do.d.ts.map +1 -1
- package/dist/control-plane-do.js +172 -49
- package/dist/control-plane-do.js.map +1 -1
- package/dist/host.d.ts +202 -12
- package/dist/host.d.ts.map +1 -1
- package/dist/host.js +543 -50
- package/dist/host.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/live-reads.d.ts +5 -4
- package/dist/live-reads.d.ts.map +1 -1
- package/dist/live-reads.js +5 -4
- package/dist/live-reads.js.map +1 -1
- package/dist/r2.d.ts +2 -1
- package/dist/r2.d.ts.map +1 -1
- package/dist/r2.js.map +1 -1
- package/dist/route-resolver.d.ts +7 -0
- package/dist/route-resolver.d.ts.map +1 -1
- package/dist/route-resolver.js +4 -0
- package/dist/route-resolver.js.map +1 -1
- package/dist/scope-do.d.ts.map +1 -1
- package/dist/scope-do.js +653 -101
- package/dist/scope-do.js.map +1 -1
- package/dist/scope-sweeper-do.d.ts +32 -6
- package/dist/scope-sweeper-do.d.ts.map +1 -1
- package/dist/scope-sweeper-do.js +35 -5
- package/dist/scope-sweeper-do.js.map +1 -1
- package/package.json +10 -9
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hosted connector-call recorder: one Analytics Engine point per call (#1691, #1978).
|
|
3
|
+
*
|
|
4
|
+
* Moving here from the kernel, which keeps the neutral half — the record, the
|
|
5
|
+
* `ConnectorCallRecorder` interface and the no-op self-host default. For one release the
|
|
6
|
+
* definition still lives in `@substrat-run/kernel` and this module re-exports that same
|
|
7
|
+
* binding, so an import from either package is the one function. Import it from here.
|
|
8
|
+
*/
|
|
9
|
+
export { analyticsEngineConnectorCallRecorder, CONNECTOR_CALL_DATA_POINT_LAYOUT, connectorCallDataPoint, } from '@substrat-run/kernel';
|
|
10
|
+
export type { AnalyticsEngineDatasetLike } from '@substrat-run/kernel';
|
|
11
|
+
//# sourceMappingURL=connector-calls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-calls.d.ts","sourceRoot":"","sources":["../src/connector-calls.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The hosted connector-call recorder: one Analytics Engine point per call (#1691, #1978).
|
|
3
|
+
*
|
|
4
|
+
* Moving here from the kernel, which keeps the neutral half — the record, the
|
|
5
|
+
* `ConnectorCallRecorder` interface and the no-op self-host default. For one release the
|
|
6
|
+
* definition still lives in `@substrat-run/kernel` and this module re-exports that same
|
|
7
|
+
* binding, so an import from either package is the one function. Import it from here.
|
|
8
|
+
*/
|
|
9
|
+
export { analyticsEngineConnectorCallRecorder, CONNECTOR_CALL_DATA_POINT_LAYOUT, connectorCallDataPoint, } from '@substrat-run/kernel';
|
|
10
|
+
//# sourceMappingURL=connector-calls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connector-calls.js","sourceRoot":"","sources":["../src/connector-calls.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EACL,oCAAoC,EACpC,gCAAgC,EAChC,sBAAsB,GACvB,MAAM,sBAAsB,CAAC"}
|
|
@@ -133,7 +133,20 @@ export interface RouteRow {
|
|
|
133
133
|
outbound_json: string | null;
|
|
134
134
|
/** The dispatched code's declared outgoing peer calls (#1706) as JSON text. */
|
|
135
135
|
calls_json: string | null;
|
|
136
|
+
/** Whether the scope is the real install (`isPrimaryScope`, #2005), decided HERE, where the
|
|
137
|
+
* kernel is — the router's routing entry deliberately depends on contracts alone. The
|
|
138
|
+
* egress worker holds a fork or a preview to no third-party egress on it. */
|
|
139
|
+
primary: boolean;
|
|
140
|
+
/** Every active hostname of the same scope (#2005), at most `ROUTE_SCOPE_HOSTNAMES_MAX` — the
|
|
141
|
+
* addresses a non-primary scope may write to, its sibling surfaces included. */
|
|
142
|
+
scope_hostnames: string[];
|
|
136
143
|
}
|
|
144
|
+
/**
|
|
145
|
+
* The router's per-request directory read (`readRoute`), lifted out so its plan can be asked for
|
|
146
|
+
* (#2005): the scope's hostname set is a correlated subquery on the hot path every request takes,
|
|
147
|
+
* and it must stay a range read on `hostnames_scope`, never a scan.
|
|
148
|
+
*/
|
|
149
|
+
export declare const READ_ROUTE_SQL = "SELECT h.tenant_id, h.scope_id, h.vertical_slug, h.surface, h.region,\n COALESCE(s.serving_ref, vv.deployment_ref) AS deployment_ref,\n CASE WHEN s.serving_ref IS NOT NULL\n THEN json_extract(sv.manifest_json, '$.outbound')\n ELSE json_extract(vv.manifest_json, '$.outbound') END AS outbound_json,\n CASE WHEN s.serving_ref IS NOT NULL\n THEN json_extract(sv.manifest_json, '$.calls')\n ELSE json_extract(vv.manifest_json, '$.calls') END AS calls_json,\n s.kind, s.forked_from,\n (SELECT json_group_array(sh.hostname) FROM (\n -- INDEXED BY: unpinned, the planner reads hostnames_status \u2014 every active\n -- hostname in the fleet, per request. A range on the scope is what it is.\n SELECT hostname FROM hostnames INDEXED BY hostnames_scope\n WHERE scope_id = s.scope_id AND status = 'active'\n ORDER BY hostname LIMIT 50\n ) sh) AS scope_hostnames_json\n FROM hostnames h\n JOIN scopes s ON s.scope_id = h.scope_id AND s.tenant_id = h.tenant_id\n JOIN tenants t ON t.tenant_id = s.tenant_id\n LEFT JOIN vertical_versions vv ON vv.id = s.vertical_version_id\n LEFT JOIN verticals vr ON vr.slug = s.vertical\n LEFT JOIN vertical_versions sv ON sv.id = vr.serving_version_id\n WHERE h.hostname = ? AND h.status = 'active'\n AND s.status = 'active' AND t.status = 'active'";
|
|
137
150
|
/** One candidate instance of a vertical in a tenant (#1706), with what it dispatches as. */
|
|
138
151
|
export interface PeerCandidateRow {
|
|
139
152
|
scope_id: string;
|
|
@@ -403,6 +416,40 @@ export interface AdminEntryInput {
|
|
|
403
416
|
after: unknown;
|
|
404
417
|
at: string;
|
|
405
418
|
}
|
|
419
|
+
/**
|
|
420
|
+
* The directory spine, as this adapter builds it — one of two hand-written copies (#969).
|
|
421
|
+
*
|
|
422
|
+
* The other is `applyDirectorySchema()` in `adapter-sqlite/src/index.ts`, and the two must
|
|
423
|
+
* describe the same schema: this side is production, that side is dev, CI, self-host and
|
|
424
|
+
* escrow. So a new directory or `_substrat_*` table both adapters need, or a new column on
|
|
425
|
+
* a table they both build, is added HERE and THERE — and for a directory created before it,
|
|
426
|
+
* to both column-addition lists as well (`ensureDirectoryColumns` below, and the pure
|
|
427
|
+
* adapter's method of the same name).
|
|
428
|
+
*
|
|
429
|
+
* `pnpm lint:spine-ddl` (`tools/spine-ddl-drift.mjs`) is what refuses a divergence: it
|
|
430
|
+
* executes each side's DDL plus those later ALTERs and compares the schemas a query would
|
|
431
|
+
* actually meet — columns, indexes (including the ones a UNIQUE creates) and foreign keys.
|
|
432
|
+
* Two things it does NOT judge. A table present on one side only is a note, not a failure,
|
|
433
|
+
* because the adapters legitimately partition the spine differently (this one projects
|
|
434
|
+
* tenant tuples, roles and entitlements into each scope where the pure adapter keeps one
|
|
435
|
+
* shared directory). And triggers and CHECK constraints are not compared at all; the spine
|
|
436
|
+
* has none today, so adding one here means adding it there with nothing to catch you.
|
|
437
|
+
* Keeping the copies and gating them, rather than moving the DDL into the kernel, is the
|
|
438
|
+
* recorded answer to #969; `docs/architecture/kernel-design.md` §8 says why.
|
|
439
|
+
*/
|
|
440
|
+
/** #1713: one hosted scope, its directory lifecycle, and what its deployment last acknowledged. */
|
|
441
|
+
export interface LifecycleTargetRow {
|
|
442
|
+
tenant_id: string;
|
|
443
|
+
scope_id: string;
|
|
444
|
+
scope_status: string;
|
|
445
|
+
tenant_status: string;
|
|
446
|
+
/** `lifecycleReceipt` of the acknowledged state, or null when none was. */
|
|
447
|
+
delivered: string | null;
|
|
448
|
+
/** The directory's epoch, and its revisions of the scope's status and the tenant's (0 when never changed). */
|
|
449
|
+
epoch: number;
|
|
450
|
+
scope_rev: number;
|
|
451
|
+
tenant_rev: number;
|
|
452
|
+
}
|
|
406
453
|
/**
|
|
407
454
|
* `DIRECTORY_DDL`, split once into what runs before the column additions and after (#1764).
|
|
408
455
|
* Checked at module load: it is a constant, so a drift is a build that never works rather
|
|
@@ -1241,6 +1288,35 @@ export declare class ControlPlaneDO extends DurableObject {
|
|
|
1241
1288
|
listImpersonations(filter: unknown, now: string): ImpersonationRow[];
|
|
1242
1289
|
recordAdmin(entry: AdminEntryInput): void;
|
|
1243
1290
|
auditLog(query: AuditLogQuery): AdminLogEntry[];
|
|
1291
|
+
/**
|
|
1292
|
+
* #1713: the scopes whose lifecycle a deployment must hold, with their lifecycle as this
|
|
1293
|
+
* directory holds it. A scope with a vertical (only a deployment serves one), past provisioning
|
|
1294
|
+
* and not reaped (a reaped store must not be recreated by a delivery), under a tenant that is
|
|
1295
|
+
* not reaped. `scopeId` narrows it to one scope and `tenantId` to one tenant's scopes, the
|
|
1296
|
+
* fan-out of a tenant transition. With `drift`, only the scopes the heal sweep must deliver to:
|
|
1297
|
+
* a receipt that differs from the directory, and every scope held now. Re-delivering a held
|
|
1298
|
+
* scope every pass is what puts a hold back on a store a carry or a restore landed without it,
|
|
1299
|
+
* and held scopes are few. Drifted rows first, so held ones never starve them.
|
|
1300
|
+
*/
|
|
1301
|
+
lifecycleTargets(filter: {
|
|
1302
|
+
tenantId?: string;
|
|
1303
|
+
scopeId?: string;
|
|
1304
|
+
drift?: boolean;
|
|
1305
|
+
limit?: number;
|
|
1306
|
+
}): LifecycleTargetRow[];
|
|
1307
|
+
/** #1713: the directory's epoch (`lifecycleRevision.epoch`): 0 until a restore mints one. */
|
|
1308
|
+
private lifecycleEpoch;
|
|
1309
|
+
/**
|
|
1310
|
+
* #1713: raise the directory's epoch to at least `atLeast`, never lower it, and answer the epoch
|
|
1311
|
+
* now. One statement, so concurrent heals that each learned a held epoch settle on the highest.
|
|
1312
|
+
* Called when a scope refuses this directory's delivery while holding an epoch another history
|
|
1313
|
+
* of the directory minted (a fresh-directory restore whose clock ran behind the old one's).
|
|
1314
|
+
*/
|
|
1315
|
+
raiseLifecycleEpoch(atLeast: number): number;
|
|
1316
|
+
/** #1713: count one lifecycle change of a scope or a tenant. Call inside the change's transaction. */
|
|
1317
|
+
private bumpLifecycleRevision;
|
|
1318
|
+
/** #1713: record what a scope's deployment acknowledged holding (`lifecycleReceipt`). */
|
|
1319
|
+
recordLifecycleReceipt(scopeId: string, delivered: string, at: string): void;
|
|
1244
1320
|
recordOpsFailure(row: OpsFailureRow): void;
|
|
1245
1321
|
/**
|
|
1246
1322
|
* #1632: subject erasure's directory half — the failure text this directory keeps about a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-plane-do.d.ts","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-plane-do.d.ts","sourceRoot":"","sources":["../src/control-plane-do.ts"],"names":[],"mappings":"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"}
|
package/dist/control-plane-do.js
CHANGED
|
@@ -1,8 +1,37 @@
|
|
|
1
1
|
import { DurableObject } from 'cloudflare:workers';
|
|
2
|
-
import { IMPERSONATION_COLUMNS, IMPERSONATION_DDL, impersonationByIdQuery, impersonationListQuery, impersonationRowValues, ISSUE_RETENTION_DAYS, telemetryRetentionStatements, assertRowLimit, OPS_FAILURE_RETENTION_DAYS, SWEEP_RUN_RETENTION_DAYS, SWEEP_RUNS_INTENT_INDEX, sweepRunsIntentHasKind, SYSTEM_SWITCHES_BACKFILL_SQL, SYSTEM_SWITCHES_TABLE, SYSTEM_SWITCHES_DDL, forgetSystemSwitchesOf, listSystemSwitchRecords, recordSystemSwitchedOff, recordSystemSwitchedOn, restoreSystemSwitchRecord, scopesSwitchedOffFor, switchedOffModulesOf, systemSwitchRecordsOf, systemSwitchesTableExists, VERSION_MIGRATIONS_DDL, splitVersionMigrationsBatch, versionMigrationsOf, versionsAwaitSplit, writeVersionMigrations, MODEL_USAGE_RETENTION_DAYS, DO_SQL_LIMITS, ulid,
|
|
2
|
+
import { IMPERSONATION_COLUMNS, IMPERSONATION_DDL, impersonationByIdQuery, impersonationListQuery, impersonationRowValues, ISSUE_RETENTION_DAYS, telemetryRetentionStatements, assertRowLimit, OPS_FAILURE_RETENTION_DAYS, SWEEP_RUN_RETENTION_DAYS, SWEEP_RUNS_INTENT_INDEX, sweepRunsIntentHasKind, SYSTEM_SWITCHES_BACKFILL_SQL, SYSTEM_SWITCHES_TABLE, SYSTEM_SWITCHES_DDL, forgetSystemSwitchesOf, listSystemSwitchRecords, recordSystemSwitchedOff, recordSystemSwitchedOn, restoreSystemSwitchRecord, scopesSwitchedOffFor, switchedOffModulesOf, systemSwitchRecordsOf, systemSwitchesTableExists, VERSION_MIGRATIONS_DDL, splitVersionMigrationsBatch, versionMigrationsOf, versionsAwaitSplit, writeVersionMigrations, MODEL_USAGE_RETENTION_DAYS, DO_SQL_LIMITS, ulid, isPrimaryScopeRow, resolveVerticalInstanceFrom, LEGACY_SCOPE_ROWS_BACKFILL, loadDirectoryDump, redactSubjectDirectoryText, ISSUE_EXEMPLAR_OWNER_BACKFILL_SQL, issueExemplarOwner, } from '@substrat-run/kernel';
|
|
3
3
|
import { splitSqlStatements, switchSqlOver } from './scope-do.js';
|
|
4
4
|
import { doBuiltColumnsOf, doRedactionSql } from './sql.js';
|
|
5
|
-
import { assertReplayableDump, opsFailureFingerprint, substratError } from '@substrat-run/contracts';
|
|
5
|
+
import { assertReplayableDump, opsFailureFingerprint, ROUTE_SCOPE_HOSTNAMES_MAX, substratError } from '@substrat-run/contracts';
|
|
6
|
+
/**
|
|
7
|
+
* The router's per-request directory read (`readRoute`), lifted out so its plan can be asked for
|
|
8
|
+
* (#2005): the scope's hostname set is a correlated subquery on the hot path every request takes,
|
|
9
|
+
* and it must stay a range read on `hostnames_scope`, never a scan.
|
|
10
|
+
*/
|
|
11
|
+
export const READ_ROUTE_SQL = `SELECT h.tenant_id, h.scope_id, h.vertical_slug, h.surface, h.region,
|
|
12
|
+
COALESCE(s.serving_ref, vv.deployment_ref) AS deployment_ref,
|
|
13
|
+
CASE WHEN s.serving_ref IS NOT NULL
|
|
14
|
+
THEN json_extract(sv.manifest_json, '$.outbound')
|
|
15
|
+
ELSE json_extract(vv.manifest_json, '$.outbound') END AS outbound_json,
|
|
16
|
+
CASE WHEN s.serving_ref IS NOT NULL
|
|
17
|
+
THEN json_extract(sv.manifest_json, '$.calls')
|
|
18
|
+
ELSE json_extract(vv.manifest_json, '$.calls') END AS calls_json,
|
|
19
|
+
s.kind, s.forked_from,
|
|
20
|
+
(SELECT json_group_array(sh.hostname) FROM (
|
|
21
|
+
-- INDEXED BY: unpinned, the planner reads hostnames_status — every active
|
|
22
|
+
-- hostname in the fleet, per request. A range on the scope is what it is.
|
|
23
|
+
SELECT hostname FROM hostnames INDEXED BY hostnames_scope
|
|
24
|
+
WHERE scope_id = s.scope_id AND status = 'active'
|
|
25
|
+
ORDER BY hostname LIMIT ${ROUTE_SCOPE_HOSTNAMES_MAX}
|
|
26
|
+
) sh) AS scope_hostnames_json
|
|
27
|
+
FROM hostnames h
|
|
28
|
+
JOIN scopes s ON s.scope_id = h.scope_id AND s.tenant_id = h.tenant_id
|
|
29
|
+
JOIN tenants t ON t.tenant_id = s.tenant_id
|
|
30
|
+
LEFT JOIN vertical_versions vv ON vv.id = s.vertical_version_id
|
|
31
|
+
LEFT JOIN verticals vr ON vr.slug = s.vertical
|
|
32
|
+
LEFT JOIN vertical_versions sv ON sv.id = vr.serving_version_id
|
|
33
|
+
WHERE h.hostname = ? AND h.status = 'active'
|
|
34
|
+
AND s.status = 'active' AND t.status = 'active'`;
|
|
6
35
|
/** snake_case row → the camelCase `issueEntry` shape (#1233). */
|
|
7
36
|
function issueOf(r) {
|
|
8
37
|
return {
|
|
@@ -42,27 +71,6 @@ function keysetTail(where, params, key, page, defaultOrder = 'asc') {
|
|
|
42
71
|
}
|
|
43
72
|
return tail;
|
|
44
73
|
}
|
|
45
|
-
/**
|
|
46
|
-
* The directory spine, as this adapter builds it — one of two hand-written copies (#969).
|
|
47
|
-
*
|
|
48
|
-
* The other is `applyDirectorySchema()` in `adapter-sqlite/src/index.ts`, and the two must
|
|
49
|
-
* describe the same schema: this side is production, that side is dev, CI, self-host and
|
|
50
|
-
* escrow. So a new directory or `_substrat_*` table both adapters need, or a new column on
|
|
51
|
-
* a table they both build, is added HERE and THERE — and for a directory created before it,
|
|
52
|
-
* to both column-addition lists as well (`ensureDirectoryColumns` below, and the pure
|
|
53
|
-
* adapter's method of the same name).
|
|
54
|
-
*
|
|
55
|
-
* `pnpm lint:spine-ddl` (`tools/spine-ddl-drift.mjs`) is what refuses a divergence: it
|
|
56
|
-
* executes each side's DDL plus those later ALTERs and compares the schemas a query would
|
|
57
|
-
* actually meet — columns, indexes (including the ones a UNIQUE creates) and foreign keys.
|
|
58
|
-
* Two things it does NOT judge. A table present on one side only is a note, not a failure,
|
|
59
|
-
* because the adapters legitimately partition the spine differently (this one projects
|
|
60
|
-
* tenant tuples, roles and entitlements into each scope where the pure adapter keeps one
|
|
61
|
-
* shared directory). And triggers and CHECK constraints are not compared at all; the spine
|
|
62
|
-
* has none today, so adding one here means adding it there with nothing to catch you.
|
|
63
|
-
* Keeping the copies and gating them, rather than moving the DDL into the kernel, is the
|
|
64
|
-
* recorded answer to #969; `docs/architecture/kernel-design.md` §8 says why.
|
|
65
|
-
*/
|
|
66
74
|
const DIRECTORY_DDL = `
|
|
67
75
|
-- The ';' in this comment is a deliberate tripwire; the DDL must go through
|
|
68
76
|
-- splitSqlStatements, and a naive split(';') fails the directory at construction.
|
|
@@ -560,6 +568,25 @@ const DIRECTORY_DDL = `
|
|
|
560
568
|
CREATE INDEX IF NOT EXISTS _substrat_model_usage_tenant ON _substrat_model_usage (tenant_id, at);
|
|
561
569
|
CREATE INDEX IF NOT EXISTS _substrat_model_usage_at ON _substrat_model_usage (at);
|
|
562
570
|
CREATE INDEX IF NOT EXISTS scopes_tenant ON scopes (tenant_id, scope_id);
|
|
571
|
+
-- #1713: the lifecycle each hosted scope's deployment last acknowledged, as
|
|
572
|
+
-- "<scope status>/<tenant status>" (lifecycleReceipt). A CP-less deployment has no
|
|
573
|
+
-- directory, so the platform delivers a scope's lifecycle to it, and the heal sweep
|
|
574
|
+
-- re-delivers wherever this differs from the directory. No row reads as active/active,
|
|
575
|
+
-- which is what a deployment holding no lifecycle runs as.
|
|
576
|
+
CREATE TABLE IF NOT EXISTS scope_lifecycle_receipts (
|
|
577
|
+
scope_id TEXT PRIMARY KEY,
|
|
578
|
+
delivered TEXT NOT NULL,
|
|
579
|
+
at TEXT NOT NULL
|
|
580
|
+
);
|
|
581
|
+
-- #1713: the lifecycle's revisions, one counter per subject ("scope:<id>" counts a
|
|
582
|
+
-- scope's status transitions, "tenant:<id>" a tenant's status changes), each bumped in
|
|
583
|
+
-- the same transaction as the change it counts, and "directory:epoch", the history the
|
|
584
|
+
-- directory is in, minted afresh by every restore (importDump). A deployment orders
|
|
585
|
+
-- deliveries by them, never by a clock. No row reads as 0.
|
|
586
|
+
CREATE TABLE IF NOT EXISTS lifecycle_revisions (
|
|
587
|
+
subject TEXT PRIMARY KEY,
|
|
588
|
+
revision INTEGER NOT NULL
|
|
589
|
+
);
|
|
563
590
|
`;
|
|
564
591
|
/**
|
|
565
592
|
* `DIRECTORY_DDL`, split once into what runs before the column additions and after (#1764).
|
|
@@ -1013,7 +1040,11 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1013
1040
|
ORDER BY name`)
|
|
1014
1041
|
.toArray();
|
|
1015
1042
|
return defs.map(({ name, sql }) => {
|
|
1016
|
-
|
|
1043
|
+
// #1713: the directory's epoch describes THIS store's history, not its data, so it never
|
|
1044
|
+
// leaves in a dump. A restore mints its own from the store it lands in (`importDump`).
|
|
1045
|
+
const cursor = name === 'lifecycle_revisions'
|
|
1046
|
+
? this.sql.exec(`SELECT * FROM "${name}" WHERE subject <> 'directory:epoch'`)
|
|
1047
|
+
: this.sql.exec(`SELECT * FROM "${name}"`);
|
|
1017
1048
|
const columns = cursor.columnNames;
|
|
1018
1049
|
const rows = Array.from(cursor.raw(), (row) => row);
|
|
1019
1050
|
return { name, ddl: sql, columns, rows };
|
|
@@ -1045,6 +1076,8 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1045
1076
|
// nothing.
|
|
1046
1077
|
assertReplayableDump(tables, { maxColumns: DO_SQL_LIMITS.columns });
|
|
1047
1078
|
await this.ctx.storage.transaction(async () => {
|
|
1079
|
+
// #1713: the epoch this directory was in, read before the drops take it.
|
|
1080
|
+
const epochBefore = this.lifecycleEpoch();
|
|
1048
1081
|
this.sql.exec('PRAGMA defer_foreign_keys = ON');
|
|
1049
1082
|
// `_cf_*` is workerd's, and dropping it is refused (SQLITE_AUTH), as `exportDump` says.
|
|
1050
1083
|
const existing = this.sql
|
|
@@ -1068,6 +1101,12 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1068
1101
|
this.sql.exec(sql, ...row);
|
|
1069
1102
|
},
|
|
1070
1103
|
});
|
|
1104
|
+
// #1713: a restore is a new history. Its lifecycle counters went back with it, so it
|
|
1105
|
+
// mints an epoch newer than the one this store was in — and than any minted on a store it
|
|
1106
|
+
// no longer remembers (a fresh directory restored from a copy), since an epoch is a time.
|
|
1107
|
+
// A dump never carries one (`exportDump`); a hand-made dump that does is outranked too.
|
|
1108
|
+
// Every deployment then takes this history's deliveries, whatever its counters say.
|
|
1109
|
+
this.sql.exec("INSERT OR REPLACE INTO lifecycle_revisions (subject, revision) VALUES ('directory:epoch', ?)", Math.max(epochBefore + 1, this.lifecycleEpoch() + 1, Date.now()));
|
|
1071
1110
|
});
|
|
1072
1111
|
// A restore is a new #1764 backfill episode. It replaced the data the old failure count and
|
|
1073
1112
|
// backoff were about, so neither may delay or silence it: the count is cleared and the next
|
|
@@ -1134,12 +1173,15 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1134
1173
|
// Stamp/clear deleting_at so the grace-window sweep can age tenants (§4.8):
|
|
1135
1174
|
// entering `deleting` stamps, leaving it (an un-delete) clears — the same shape
|
|
1136
1175
|
// transitionScope uses for archived_at.
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1176
|
+
this.ctx.storage.transactionSync(() => {
|
|
1177
|
+
if (status === 'deleting') {
|
|
1178
|
+
this.sql.exec('UPDATE tenants SET status = ?, deleting_at = ? WHERE tenant_id = ?', status, new Date().toISOString(), tenantId);
|
|
1179
|
+
}
|
|
1180
|
+
else {
|
|
1181
|
+
this.sql.exec('UPDATE tenants SET status = ?, deleting_at = NULL WHERE tenant_id = ?', status, tenantId);
|
|
1182
|
+
}
|
|
1183
|
+
this.bumpLifecycleRevision(`tenant:${tenantId}`); // #1713, with the change it counts
|
|
1184
|
+
});
|
|
1143
1185
|
return before.status;
|
|
1144
1186
|
}
|
|
1145
1187
|
/**
|
|
@@ -1170,7 +1212,10 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1170
1212
|
]) {
|
|
1171
1213
|
this.sql.exec(`DELETE FROM ${table} WHERE tenant_id = ?`, tenantId);
|
|
1172
1214
|
}
|
|
1173
|
-
this.
|
|
1215
|
+
this.ctx.storage.transactionSync(() => {
|
|
1216
|
+
this.sql.exec("UPDATE tenants SET status = 'reaped', deleting_at = NULL WHERE tenant_id = ?", tenantId);
|
|
1217
|
+
this.bumpLifecycleRevision(`tenant:${tenantId}`); // #1713
|
|
1218
|
+
});
|
|
1174
1219
|
return before.status;
|
|
1175
1220
|
}
|
|
1176
1221
|
/** Rename the DISPLAY name (never the slug); throw if absent; return the previous name. */
|
|
@@ -1498,6 +1543,7 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1498
1543
|
}
|
|
1499
1544
|
if (to === 'reaped')
|
|
1500
1545
|
forgetSystemSwitchesOf(this.kernelSql, scopeId);
|
|
1546
|
+
this.bumpLifecycleRevision(`scope:${scopeId}`); // #1713, with the status it counts
|
|
1501
1547
|
});
|
|
1502
1548
|
return { ok: true, status: row.status, vertical: row.vertical };
|
|
1503
1549
|
}
|
|
@@ -1646,7 +1692,7 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1646
1692
|
// for the target, and the router must not carry a second copy of "what is primary".
|
|
1647
1693
|
const callerState = !caller || caller.tenant_id !== tenantId || caller.vertical !== callerVertical
|
|
1648
1694
|
? 'unknown'
|
|
1649
|
-
: !
|
|
1695
|
+
: !isPrimaryScopeRow(caller)
|
|
1650
1696
|
? 'not-primary'
|
|
1651
1697
|
: caller.status !== 'active' || caller.tenant_status !== 'active'
|
|
1652
1698
|
? 'inactive'
|
|
@@ -1680,24 +1726,19 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
1680
1726
|
// json_extract keeps the hot path from parsing whole manifests in JS: SQLite hands
|
|
1681
1727
|
// back just the `outbound` array as JSON text, or NULL for a pre-#303 manifest —
|
|
1682
1728
|
// which the egress worker treats as unenforced-but-metered.
|
|
1683
|
-
|
|
1684
|
-
.exec(
|
|
1685
|
-
COALESCE(s.serving_ref, vv.deployment_ref) AS deployment_ref,
|
|
1686
|
-
CASE WHEN s.serving_ref IS NOT NULL
|
|
1687
|
-
THEN json_extract(sv.manifest_json, '$.outbound')
|
|
1688
|
-
ELSE json_extract(vv.manifest_json, '$.outbound') END AS outbound_json,
|
|
1689
|
-
CASE WHEN s.serving_ref IS NOT NULL
|
|
1690
|
-
THEN json_extract(sv.manifest_json, '$.calls')
|
|
1691
|
-
ELSE json_extract(vv.manifest_json, '$.calls') END AS calls_json
|
|
1692
|
-
FROM hostnames h
|
|
1693
|
-
JOIN scopes s ON s.scope_id = h.scope_id AND s.tenant_id = h.tenant_id
|
|
1694
|
-
JOIN tenants t ON t.tenant_id = s.tenant_id
|
|
1695
|
-
LEFT JOIN vertical_versions vv ON vv.id = s.vertical_version_id
|
|
1696
|
-
LEFT JOIN verticals vr ON vr.slug = s.vertical
|
|
1697
|
-
LEFT JOIN vertical_versions sv ON sv.id = vr.serving_version_id
|
|
1698
|
-
WHERE h.hostname = ? AND h.status = 'active'
|
|
1699
|
-
AND s.status = 'active' AND t.status = 'active'`, hostname)
|
|
1729
|
+
const row = this.sql
|
|
1730
|
+
.exec(READ_ROUTE_SQL, hostname)
|
|
1700
1731
|
.toArray()[0];
|
|
1732
|
+
if (!row)
|
|
1733
|
+
return undefined;
|
|
1734
|
+
// #2005: the predicate runs here, once, rather than travelling as two columns for the
|
|
1735
|
+
// router to re-derive — every reader of the directory answers it the same way.
|
|
1736
|
+
const { kind, forked_from, scope_hostnames_json, ...route } = row;
|
|
1737
|
+
return {
|
|
1738
|
+
...route,
|
|
1739
|
+
primary: isPrimaryScopeRow({ kind, forked_from }),
|
|
1740
|
+
scope_hostnames: JSON.parse(scope_hostnames_json),
|
|
1741
|
+
};
|
|
1701
1742
|
}
|
|
1702
1743
|
/** Demote any current canonical for this surface — exactly one may hold it. */
|
|
1703
1744
|
demoteCanonical(scopeId, surface) {
|
|
@@ -2655,6 +2696,88 @@ export class ControlPlaneDO extends DurableObject {
|
|
|
2655
2696
|
at: r.at,
|
|
2656
2697
|
}));
|
|
2657
2698
|
}
|
|
2699
|
+
/**
|
|
2700
|
+
* #1713: the scopes whose lifecycle a deployment must hold, with their lifecycle as this
|
|
2701
|
+
* directory holds it. A scope with a vertical (only a deployment serves one), past provisioning
|
|
2702
|
+
* and not reaped (a reaped store must not be recreated by a delivery), under a tenant that is
|
|
2703
|
+
* not reaped. `scopeId` narrows it to one scope and `tenantId` to one tenant's scopes, the
|
|
2704
|
+
* fan-out of a tenant transition. With `drift`, only the scopes the heal sweep must deliver to:
|
|
2705
|
+
* a receipt that differs from the directory, and every scope held now. Re-delivering a held
|
|
2706
|
+
* scope every pass is what puts a hold back on a store a carry or a restore landed without it,
|
|
2707
|
+
* and held scopes are few. Drifted rows first, so held ones never starve them.
|
|
2708
|
+
*/
|
|
2709
|
+
lifecycleTargets(filter) {
|
|
2710
|
+
const where = [
|
|
2711
|
+
's.vertical IS NOT NULL',
|
|
2712
|
+
"s.status NOT IN ('provisioning', 'reaped')",
|
|
2713
|
+
"t.status <> 'reaped'",
|
|
2714
|
+
];
|
|
2715
|
+
const params = [];
|
|
2716
|
+
if (filter.tenantId) {
|
|
2717
|
+
where.push('s.tenant_id = ?');
|
|
2718
|
+
params.push(filter.tenantId);
|
|
2719
|
+
}
|
|
2720
|
+
if (filter.scopeId) {
|
|
2721
|
+
where.push('s.scope_id = ?');
|
|
2722
|
+
params.push(filter.scopeId);
|
|
2723
|
+
}
|
|
2724
|
+
const epoch = this.lifecycleEpoch();
|
|
2725
|
+
// What the deployment would acknowledge now (`lifecycleReceipt`): the statuses and the full
|
|
2726
|
+
// revision. No receipt is drift only after a restore (epoch > 0), when what the deployment
|
|
2727
|
+
// holds is unknown; before any, a live scope with no receipt runs as its deployment does.
|
|
2728
|
+
const acked = "s.status || '/' || t.status || '@' || CAST(? AS INTEGER) || '.' || COALESCE(rs.revision, 0) || '.' || COALESCE(rt.revision, 0)";
|
|
2729
|
+
// CAST: a bound JS number reaches DO SQLite as a REAL, and would concatenate as '0.0'.
|
|
2730
|
+
const drifted = `(r.delivered IS NULL AND CAST(? AS INTEGER) > 0) OR r.delivered <> ${acked}`;
|
|
2731
|
+
const driftParams = [epoch, epoch];
|
|
2732
|
+
if (filter.drift) {
|
|
2733
|
+
where.push(`(${drifted} OR s.status NOT IN ('active', 'archived') OR t.status <> 'active')`);
|
|
2734
|
+
params.push(...driftParams);
|
|
2735
|
+
}
|
|
2736
|
+
params.push(...driftParams, filter.limit ?? 1000);
|
|
2737
|
+
return this.sql
|
|
2738
|
+
.exec(`SELECT s.tenant_id, s.scope_id, s.status AS scope_status, t.status AS tenant_status, r.delivered,
|
|
2739
|
+
${epoch} AS epoch, COALESCE(rs.revision, 0) AS scope_rev, COALESCE(rt.revision, 0) AS tenant_rev
|
|
2740
|
+
FROM scopes s
|
|
2741
|
+
JOIN tenants t ON t.tenant_id = s.tenant_id
|
|
2742
|
+
LEFT JOIN scope_lifecycle_receipts r ON r.scope_id = s.scope_id
|
|
2743
|
+
LEFT JOIN lifecycle_revisions rs ON rs.subject = 'scope:' || s.scope_id
|
|
2744
|
+
LEFT JOIN lifecycle_revisions rt ON rt.subject = 'tenant:' || s.tenant_id
|
|
2745
|
+
WHERE ${where.join(' AND ')}
|
|
2746
|
+
ORDER BY CASE WHEN ${drifted} THEN 0 ELSE 1 END, s.scope_id
|
|
2747
|
+
LIMIT ?`, ...params)
|
|
2748
|
+
.toArray();
|
|
2749
|
+
}
|
|
2750
|
+
/** #1713: the directory's epoch (`lifecycleRevision.epoch`): 0 until a restore mints one. */
|
|
2751
|
+
lifecycleEpoch() {
|
|
2752
|
+
const row = this.sql
|
|
2753
|
+
.exec("SELECT revision FROM lifecycle_revisions WHERE subject = 'directory:epoch'")
|
|
2754
|
+
.toArray()[0];
|
|
2755
|
+
return row?.revision ?? 0;
|
|
2756
|
+
}
|
|
2757
|
+
/**
|
|
2758
|
+
* #1713: raise the directory's epoch to at least `atLeast`, never lower it, and answer the epoch
|
|
2759
|
+
* now. One statement, so concurrent heals that each learned a held epoch settle on the highest.
|
|
2760
|
+
* Called when a scope refuses this directory's delivery while holding an epoch another history
|
|
2761
|
+
* of the directory minted (a fresh-directory restore whose clock ran behind the old one's).
|
|
2762
|
+
*/
|
|
2763
|
+
raiseLifecycleEpoch(atLeast) {
|
|
2764
|
+
if (!Number.isSafeInteger(atLeast) || atLeast < 0)
|
|
2765
|
+
throw new Error(`not an epoch: ${atLeast}`);
|
|
2766
|
+
// An epoch is a mint time: one a day past the clock is forged or broken, and never raised to.
|
|
2767
|
+
if (atLeast > Date.now() + 24 * 60 * 60 * 1000)
|
|
2768
|
+
throw new Error(`epoch ${atLeast} is ahead of the clock; not raised`);
|
|
2769
|
+
this.sql.exec(`INSERT INTO lifecycle_revisions (subject, revision) VALUES ('directory:epoch', ?)
|
|
2770
|
+
ON CONFLICT (subject) DO UPDATE SET revision = MAX(revision, excluded.revision)`, atLeast);
|
|
2771
|
+
return this.lifecycleEpoch();
|
|
2772
|
+
}
|
|
2773
|
+
/** #1713: count one lifecycle change of a scope or a tenant. Call inside the change's transaction. */
|
|
2774
|
+
bumpLifecycleRevision(subject) {
|
|
2775
|
+
this.sql.exec('INSERT INTO lifecycle_revisions (subject, revision) VALUES (?, 1) ON CONFLICT (subject) DO UPDATE SET revision = revision + 1', subject);
|
|
2776
|
+
}
|
|
2777
|
+
/** #1713: record what a scope's deployment acknowledged holding (`lifecycleReceipt`). */
|
|
2778
|
+
recordLifecycleReceipt(scopeId, delivered, at) {
|
|
2779
|
+
this.sql.exec('INSERT OR REPLACE INTO scope_lifecycle_receipts (scope_id, delivered, at) VALUES (?, ?, ?)', scopeId, delivered, at);
|
|
2780
|
+
}
|
|
2658
2781
|
recordOpsFailure(row) {
|
|
2659
2782
|
this.sql.exec(`INSERT INTO _substrat_ops_failures
|
|
2660
2783
|
(id, actor, operation, stage, tenant_id, scope_id, vertical, version, status, message, reference, origin, code, fingerprint, at)
|