@indigoai-us/hq-cloud 6.15.65 → 6.15.66
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/bin/sync-runner-watch-loop.d.ts +24 -2
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +157 -37
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.test.js +106 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/sync/event-sync.d.ts +4 -0
- package/dist/sync/event-sync.d.ts.map +1 -1
- package/dist/sync/event-sync.js +2 -0
- package/dist/sync/event-sync.js.map +1 -1
- package/dist/sync/push-receiver.d.ts +8 -1
- package/dist/sync/push-receiver.d.ts.map +1 -1
- package/dist/sync/push-receiver.js +20 -8
- package/dist/sync/push-receiver.js.map +1 -1
- package/dist/sync/push-receiver.test.js +24 -0
- package/dist/sync/push-receiver.test.js.map +1 -1
- package/dist/watcher.d.ts +18 -2
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +139 -2
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +63 -7
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type TreeChange } from "../watcher.js";
|
|
1
|
+
import { type TreeChange, type TreeChangeBatch } from "../watcher.js";
|
|
2
2
|
import { readJournal } from "../journal.js";
|
|
3
3
|
import type { TelemetryClaims } from "../telemetry-events.js";
|
|
4
4
|
import type { Direction, RunnerLoopDeps, RunnerPassOutcome } from "./sync-runner.js";
|
|
@@ -21,15 +21,37 @@ export declare const EVENT_BATCH_LIMIT_ENV = "HQ_SYNC_EVENT_BATCH_LIMIT";
|
|
|
21
21
|
*/
|
|
22
22
|
export declare const FAST_LANE_MAX_FILES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILES";
|
|
23
23
|
export declare const FAST_LANE_MAX_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_BYTES";
|
|
24
|
+
export declare const FAST_LANE_MAX_FILE_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILE_BYTES";
|
|
24
25
|
export declare const DEFAULT_FAST_LANE_MAX_FILES = 32;
|
|
25
26
|
export declare const DEFAULT_FAST_LANE_MAX_BYTES: number;
|
|
27
|
+
/**
|
|
28
|
+
* A per-file ceiling keeps a single medium-sized transfer from consuming the
|
|
29
|
+
* realtime lane even when the batch aggregate is otherwise below its cap.
|
|
30
|
+
* 256 KiB comfortably covers ordinary notes and control-plane artifacts while
|
|
31
|
+
* leaving session logs and other transfer-heavy files in the slow lane.
|
|
32
|
+
*/
|
|
33
|
+
export declare const DEFAULT_FAST_LANE_MAX_FILE_BYTES: number;
|
|
26
34
|
export declare function resolveFastLaneLimits(): {
|
|
27
35
|
maxFiles: number;
|
|
28
36
|
maxBytes: number;
|
|
37
|
+
maxFileBytes: number;
|
|
38
|
+
};
|
|
39
|
+
/** One latest-per-path work item selected into the realtime or bulk lane. */
|
|
40
|
+
export interface LanePartition<T> {
|
|
41
|
+
fast: T[];
|
|
42
|
+
slow: T[];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Partition one selected watcher batch. The returned batches retain the same
|
|
46
|
+
* route/filter metadata, but no latest path can appear in both lane maps.
|
|
47
|
+
*/
|
|
48
|
+
export declare function partitionLocalBatch(batch: TreeChangeBatch): {
|
|
49
|
+
fast: TreeChangeBatch | null;
|
|
50
|
+
slow: TreeChangeBatch | null;
|
|
29
51
|
};
|
|
30
52
|
/** A missing/stat-failed path is never allowed to bypass the slow lane. */
|
|
31
53
|
export declare function isFastLocalBatch(paths: Iterable<string>, changes?: ReadonlyMap<string, Pick<TreeChange, "kind">>): boolean;
|
|
32
|
-
/**
|
|
54
|
+
/** A receiver event needs a known small upsert size before it can go realtime. */
|
|
33
55
|
export declare function isFastReceiverBatch(eventCount: number): boolean;
|
|
34
56
|
export declare function resolveEventBatchLimit(env?: Record<string, string | undefined>): number;
|
|
35
57
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAkBA,OAAO,EAKL,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"sync-runner-watch-loop.d.ts","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"AAkBA,OAAO,EAKL,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,EAOL,WAAW,EAEZ,MAAM,eAAe,CAAC;AAWvB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAY9D,OAAO,KAAK,EACV,SAAS,EAET,cAAc,EACd,iBAAiB,EAElB,MAAM,kBAAkB,CAAC;AAsD1B;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAChD,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,uBAAuB,gCAAgC,CAAC;AACrE,eAAO,MAAM,4BAA4B,qCAAqC,CAAC;AAC/E,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,2BAA2B,QAAkB,CAAC;AAC3D;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,QAAa,CAAC;AAO3D,wBAAgB,qBAAqB,IAAI;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB,CASA;AAED,6EAA6E;AAC7E,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC,EAAE,CAAC;IACV,IAAI,EAAE,CAAC,EAAE,CAAC;CACX;AAiDD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG;IAC3D,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;IAC7B,IAAI,EAAE,eAAe,GAAG,IAAI,CAAC;CAC9B,CAgBA;AAED,2EAA2E;AAC3E,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,OAAO,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,GACtD,OAAO,CAyBT;AAED,kFAAkF;AAClF,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,CAMR;AAED;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,yBAAyB,EAAE,MAAM,GAAG,SAAqB,CAAC;AAEvE,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACpD,MAAM,GAAG,SAAS,CAOpB;AAiBD,iFAAiF;AACjF,eAAO,MAAM,4BAA4B,QAAa,CAAC;AACvD,kFAAkF;AAClF,eAAO,MAAM,gCAAgC,QAAc,CAAC;AAE5D;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA+B,EACxC,MAAM,GAAE,MAA8B,GACrC,MAAM,CAKR;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAUxC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC,EAAE,CACnC,QAAQ,EAAE,MAAM,EAAE,KACf,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC,CAAC;IACzC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,MAAM,CAAC;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,eAAe,CAAC,GAAG,IAAI,CAAC;IAC7E,qBAAqB,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC;AAE5D;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,QAAQ,GAAG,WAAW,GAC3B,KAAK,CAAC,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CASvC;AAWD;;;;;;;;;;;;GAYG;AACH,wBAAgB,oCAAoC,CAClD,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM,GACrB,OAAO,CAIT;AAuBD,wBAAsB,2BAA2B,CAC/C,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,MAAM,CAAC,CAszDjB"}
|
|
@@ -12,7 +12,7 @@ import { PARTIAL_SYNC_EXIT } from "../lib/exit-codes.js";
|
|
|
12
12
|
import { getOrCreateMachineId } from "../lib/machine-id.js";
|
|
13
13
|
import { localPathForVaultKey } from "../local-path-codec.js";
|
|
14
14
|
import { TreeWatcher, resolveEventDebounceConfig, systemClock, } from "../watcher.js";
|
|
15
|
-
import { clearLocalDeleteIntent, markLocalDeleteIntent, PERSONAL_VAULT_JOURNAL_SLUG, openJournalStoreSession, listJournals, readJournal, writeJournal, } from "../journal.js";
|
|
15
|
+
import { clearLocalDeleteIntent, getStateDir, markLocalDeleteIntent, PERSONAL_VAULT_JOURNAL_SLUG, openJournalStoreSession, listJournals, readJournal, writeJournal, } from "../journal.js";
|
|
16
16
|
import { NoopPushReceiver, } from "../sync/push-receiver.js";
|
|
17
17
|
import { resolveEventSync, startEventSync as defaultStartEventSync, } from "../sync/event-sync.js";
|
|
18
18
|
import { buildRoutePullArgv, buildScopedPushArgv, buildScopedDrainPullArgv, buildTargetedPullArgv, isWatchRouteSelected, routeChangeToTarget, routeKey, } from "./sync-runner-watch-routes.js";
|
|
@@ -52,8 +52,16 @@ export const EVENT_BATCH_LIMIT_ENV = "HQ_SYNC_EVENT_BATCH_LIMIT";
|
|
|
52
52
|
*/
|
|
53
53
|
export const FAST_LANE_MAX_FILES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILES";
|
|
54
54
|
export const FAST_LANE_MAX_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_BYTES";
|
|
55
|
+
export const FAST_LANE_MAX_FILE_BYTES_ENV = "HQ_SYNC_FAST_LANE_MAX_FILE_BYTES";
|
|
55
56
|
export const DEFAULT_FAST_LANE_MAX_FILES = 32;
|
|
56
57
|
export const DEFAULT_FAST_LANE_MAX_BYTES = 4 * 1024 * 1024;
|
|
58
|
+
/**
|
|
59
|
+
* A per-file ceiling keeps a single medium-sized transfer from consuming the
|
|
60
|
+
* realtime lane even when the batch aggregate is otherwise below its cap.
|
|
61
|
+
* 256 KiB comfortably covers ordinary notes and control-plane artifacts while
|
|
62
|
+
* leaving session logs and other transfer-heavy files in the slow lane.
|
|
63
|
+
*/
|
|
64
|
+
export const DEFAULT_FAST_LANE_MAX_FILE_BYTES = 256 * 1024;
|
|
57
65
|
function positiveEnvInt(name, fallback) {
|
|
58
66
|
const value = Number.parseInt(process.env[name] ?? "", 10);
|
|
59
67
|
return Number.isFinite(value) && value > 0 ? value : fallback;
|
|
@@ -62,7 +70,68 @@ export function resolveFastLaneLimits() {
|
|
|
62
70
|
return {
|
|
63
71
|
maxFiles: positiveEnvInt(FAST_LANE_MAX_FILES_ENV, DEFAULT_FAST_LANE_MAX_FILES),
|
|
64
72
|
maxBytes: positiveEnvInt(FAST_LANE_MAX_BYTES_ENV, DEFAULT_FAST_LANE_MAX_BYTES),
|
|
73
|
+
maxFileBytes: positiveEnvInt(FAST_LANE_MAX_FILE_BYTES_ENV, DEFAULT_FAST_LANE_MAX_FILE_BYTES),
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Select a bounded realtime prefix from already coalesced work. A path appears
|
|
78
|
+
* exactly once in this input, so a later change to the same path has already
|
|
79
|
+
* replaced its earlier revision and cannot straddle lanes.
|
|
80
|
+
*/
|
|
81
|
+
function partitionByKnownSizes(items, sizeOf) {
|
|
82
|
+
const { maxFiles, maxBytes, maxFileBytes } = resolveFastLaneLimits();
|
|
83
|
+
const fast = [];
|
|
84
|
+
const slow = [];
|
|
85
|
+
let bytes = 0;
|
|
86
|
+
for (const item of items) {
|
|
87
|
+
const size = sizeOf(item);
|
|
88
|
+
if (size === null ||
|
|
89
|
+
size > maxFileBytes ||
|
|
90
|
+
fast.length >= maxFiles ||
|
|
91
|
+
bytes + size > maxBytes) {
|
|
92
|
+
slow.push(item);
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
fast.push(item);
|
|
96
|
+
bytes += size;
|
|
97
|
+
}
|
|
98
|
+
return { fast, slow };
|
|
99
|
+
}
|
|
100
|
+
function localPathSize(absolutePath, changes) {
|
|
101
|
+
// `unlinkDir` has an unbounded journal expansion; never guess its payload.
|
|
102
|
+
if (changes?.get(absolutePath)?.kind === "unlinkDir")
|
|
103
|
+
return null;
|
|
104
|
+
try {
|
|
105
|
+
const stat = fs.lstatSync(absolutePath);
|
|
106
|
+
if (stat.isDirectory())
|
|
107
|
+
return null;
|
|
108
|
+
return stat.isFile() ? stat.size : 0;
|
|
109
|
+
}
|
|
110
|
+
catch (err) {
|
|
111
|
+
// A missing file is an exact delete and has no content transfer. Any other
|
|
112
|
+
// stat error leaves its payload unknown and therefore slow.
|
|
113
|
+
return err.code === "ENOENT" ? 0 : null;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Partition one selected watcher batch. The returned batches retain the same
|
|
118
|
+
* route/filter metadata, but no latest path can appear in both lane maps.
|
|
119
|
+
*/
|
|
120
|
+
export function partitionLocalBatch(batch) {
|
|
121
|
+
const partition = partitionByKnownSizes([...batch.paths.entries()], ([absolutePath]) => localPathSize(absolutePath, batch.changes));
|
|
122
|
+
const makeBatch = (entries) => {
|
|
123
|
+
if (entries.length === 0)
|
|
124
|
+
return null;
|
|
125
|
+
const paths = new Map(entries);
|
|
126
|
+
const changes = new Map();
|
|
127
|
+
for (const [absolutePath] of entries) {
|
|
128
|
+
const change = batch.changes?.get(absolutePath);
|
|
129
|
+
if (change)
|
|
130
|
+
changes.set(absolutePath, change);
|
|
131
|
+
}
|
|
132
|
+
return { ...batch, paths, ...(changes.size > 0 ? { changes } : {}) };
|
|
65
133
|
};
|
|
134
|
+
return { fast: makeBatch(partition.fast), slow: makeBatch(partition.slow) };
|
|
66
135
|
}
|
|
67
136
|
/** A missing/stat-failed path is never allowed to bypass the slow lane. */
|
|
68
137
|
export function isFastLocalBatch(paths, changes) {
|
|
@@ -97,7 +166,7 @@ export function isFastLocalBatch(paths, changes) {
|
|
|
97
166
|
}
|
|
98
167
|
return files > 0;
|
|
99
168
|
}
|
|
100
|
-
/**
|
|
169
|
+
/** A receiver event needs a known small upsert size before it can go realtime. */
|
|
101
170
|
export function isFastReceiverBatch(eventCount) {
|
|
102
171
|
return eventCount > 0 && eventCount <= resolveFastLaneLimits().maxFiles;
|
|
103
172
|
}
|
|
@@ -905,6 +974,22 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
|
|
|
905
974
|
: relativePath.slice(prefix.length + 1),
|
|
906
975
|
};
|
|
907
976
|
};
|
|
977
|
+
/**
|
|
978
|
+
* A receiver event is eligible only when its upsert bytes are known small.
|
|
979
|
+
* Current publishers do not require a size field, so a locally journaled
|
|
980
|
+
* version is the backwards-compatible HEAD-size source. An event with no
|
|
981
|
+
* declared or journal-known size is bulk: guessing would let a large legacy
|
|
982
|
+
* transfer consume the realtime lane.
|
|
983
|
+
*/
|
|
984
|
+
const receiverEventSize = (event) => {
|
|
985
|
+
if (event.kind !== "upsert")
|
|
986
|
+
return null;
|
|
987
|
+
const coordinates = journalCoordinates(event.relativePath);
|
|
988
|
+
if (!coordinates)
|
|
989
|
+
return null;
|
|
990
|
+
const size = readJournal(coordinates.slug).files[coordinates.key]?.size;
|
|
991
|
+
return Number.isSafeInteger(size) && size >= 0 ? size : null;
|
|
992
|
+
};
|
|
908
993
|
const captureLocalDeleteSnapshots = (relativePath, kind) => {
|
|
909
994
|
const coordinates = journalCoordinates(relativePath);
|
|
910
995
|
const route = routeChangeToTarget(relativePath);
|
|
@@ -1030,6 +1115,27 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
|
|
|
1030
1115
|
}
|
|
1031
1116
|
return paths;
|
|
1032
1117
|
};
|
|
1118
|
+
const publishedContentHashBaseline = () => {
|
|
1119
|
+
const hashes = {};
|
|
1120
|
+
for (const { slug, journal } of listJournals()) {
|
|
1121
|
+
const isPersonal = slug === PERSONAL_VAULT_JOURNAL_SLUG || slug === "personal";
|
|
1122
|
+
const route = isPersonal
|
|
1123
|
+
? { kind: "personal" }
|
|
1124
|
+
: { kind: "company", slug };
|
|
1125
|
+
if (!isWatchRouteSelected(route, watchRouteSelection))
|
|
1126
|
+
continue;
|
|
1127
|
+
for (const [key, entry] of Object.entries(journal.files)) {
|
|
1128
|
+
// Tombstones and link records have no live regular-file body for the
|
|
1129
|
+
// PushEventEmitter's SHA-256 comparison, so they must not seed it.
|
|
1130
|
+
if (entry.removedAt !== undefined ||
|
|
1131
|
+
entry.kind === "symlink" ||
|
|
1132
|
+
entry.localDiverges)
|
|
1133
|
+
continue;
|
|
1134
|
+
hashes[isPersonal ? key : `companies/${slug}/${key}`] = `sha256:${entry.hash}`;
|
|
1135
|
+
}
|
|
1136
|
+
}
|
|
1137
|
+
return hashes;
|
|
1138
|
+
};
|
|
1033
1139
|
const prepareWatcherChanges = (changes) => {
|
|
1034
1140
|
const journals = new Map();
|
|
1035
1141
|
const dirty = new Set();
|
|
@@ -1342,29 +1448,34 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
|
|
|
1342
1448
|
watcher.onChange((changedRelPath, batch) => {
|
|
1343
1449
|
if (stopped)
|
|
1344
1450
|
return;
|
|
1345
|
-
//
|
|
1346
|
-
// bulk pass is in flight.
|
|
1347
|
-
//
|
|
1451
|
+
// Peel a bounded realtime sub-batch from a mixed watcher batch while a
|
|
1452
|
+
// bulk pass is in flight. The residue enters the ordinary pending drain
|
|
1453
|
+
// immediately; a latest path appears in exactly one of these maps.
|
|
1348
1454
|
const selectedBatch = batch ? selectWatchBatch(batch) : null;
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1352
|
-
|
|
1455
|
+
const lanes = selectedBatch && !selectedBatch.overflowed
|
|
1456
|
+
? partitionLocalBatch(selectedBatch)
|
|
1457
|
+
: null;
|
|
1458
|
+
if (lanes?.fast &&
|
|
1459
|
+
activeSlowPass !== null) {
|
|
1353
1460
|
const generation = ++nextWatcherBatchGeneration;
|
|
1354
1461
|
// Fast dispatch bypasses the pending-batch ingress, so preserve both
|
|
1355
1462
|
// of its contracts here: only selected routes may run, and V2 sees
|
|
1356
1463
|
// the same dirty signal as the compatibility drain.
|
|
1357
1464
|
realtimeState.scheduler?.signal("watcher");
|
|
1358
|
-
void runScopedDrain(
|
|
1465
|
+
void runScopedDrain(lanes.fast, generation, true).then((exit) => {
|
|
1359
1466
|
if (exit === 0)
|
|
1360
1467
|
return;
|
|
1361
|
-
restorePendingWatcherPaths(
|
|
1468
|
+
restorePendingWatcherPaths(lanes.fast.paths, generation);
|
|
1362
1469
|
interruptWait();
|
|
1363
1470
|
}).catch((err) => {
|
|
1364
|
-
restorePendingWatcherPaths(
|
|
1471
|
+
restorePendingWatcherPaths(lanes.fast.paths, generation);
|
|
1365
1472
|
process.stderr.write(`watch fast-lane scoped push failed, will retry next tick: ${describeError(err)}\n`);
|
|
1366
1473
|
interruptWait();
|
|
1367
1474
|
});
|
|
1475
|
+
if (lanes.slow && addPendingWatcherChange(undefined, lanes.slow)) {
|
|
1476
|
+
realtimeState.scheduler?.signal("watcher");
|
|
1477
|
+
interruptWait();
|
|
1478
|
+
}
|
|
1368
1479
|
return;
|
|
1369
1480
|
}
|
|
1370
1481
|
if (addPendingWatcherChange(changedRelPath, batch)) {
|
|
@@ -1459,32 +1570,39 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
|
|
|
1459
1570
|
// so it cannot overlap the pass that may currently own the operation
|
|
1460
1571
|
// lock.
|
|
1461
1572
|
interruptWait();
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
|
|
1475
|
-
|
|
1476
|
-
const lane = isFastReceiverBatch(eligibleEventCount)
|
|
1477
|
-
? "fast"
|
|
1478
|
-
: "slow";
|
|
1479
|
-
for (const { route, paths } of pathsByRoute.values()) {
|
|
1480
|
-
// One guarded targeted pass per affected route, with every coalesced
|
|
1481
|
-
// path for that route expressed through the watcher's existing argv seam.
|
|
1482
|
-
const targetedArgv = buildTargetedPullArgv(route, passArgv, paths);
|
|
1483
|
-
const result = await runGuarded(targetedArgv, undefined, lane);
|
|
1484
|
-
if (passExitCode(result) !== 0) {
|
|
1485
|
-
throw new Error(`targeted pull failed with exit code ${passExitCode(result)}`);
|
|
1573
|
+
// Apply the caps once across the whole delivery, then retain the residue
|
|
1574
|
+
// in the normal lane. The receiver already coalesces to one latest event
|
|
1575
|
+
// per path, so the partition cannot split revisions of one path.
|
|
1576
|
+
const lanes = partitionByKnownSizes(events, receiverEventSize);
|
|
1577
|
+
const drainLane = async (lane, laneEvents) => {
|
|
1578
|
+
const pathsByRoute = new Map();
|
|
1579
|
+
for (const event of laneEvents) {
|
|
1580
|
+
const route = routeChangeToTarget(event.relativePath);
|
|
1581
|
+
if (!route)
|
|
1582
|
+
continue;
|
|
1583
|
+
const key = routeKey(route);
|
|
1584
|
+
const group = pathsByRoute.get(key) ?? { route, paths: [] };
|
|
1585
|
+
group.paths.push(event.relativePath);
|
|
1586
|
+
pathsByRoute.set(key, group);
|
|
1486
1587
|
}
|
|
1487
|
-
|
|
1588
|
+
for (const { route, paths } of pathsByRoute.values()) {
|
|
1589
|
+
const targetedArgv = buildTargetedPullArgv(route, passArgv, paths);
|
|
1590
|
+
const result = await runGuarded(targetedArgv, undefined, lane);
|
|
1591
|
+
if (passExitCode(result) !== 0) {
|
|
1592
|
+
throw new Error(`targeted pull failed with exit code ${passExitCode(result)}`);
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
};
|
|
1596
|
+
// Dispatch realtime work before awaiting its bulk residue. This lets an
|
|
1597
|
+
// established slow pass continue while the small scoped pull uses its
|
|
1598
|
+
// ref-counted lock carve-out; the residue remains serialized and cannot
|
|
1599
|
+
// starve the slow lane.
|
|
1600
|
+
await drainLane("fast", lanes.fast);
|
|
1601
|
+
await drainLane("slow", lanes.slow);
|
|
1602
|
+
};
|
|
1603
|
+
receiverSyncBatchFn.partition = (events) => {
|
|
1604
|
+
const lanes = partitionByKnownSizes(events, receiverEventSize);
|
|
1605
|
+
return [lanes.fast, lanes.slow].filter((lane) => lane.length > 0);
|
|
1488
1606
|
};
|
|
1489
1607
|
const createReceiver = deps.createReceiver ?? (() => new NoopPushReceiver());
|
|
1490
1608
|
receiver = createReceiver({ syncBatchFn: receiverSyncBatchFn, hqRoot });
|
|
@@ -1562,6 +1680,8 @@ export async function runWatchLoop(argv, parsed, deps, runtime) {
|
|
|
1562
1680
|
log: (m) => process.stderr.write(`${m}\n`),
|
|
1563
1681
|
telemetryClient: eventSyncClient,
|
|
1564
1682
|
telemetryClaims: claims,
|
|
1683
|
+
publishedContentHashStateDir: getStateDir(),
|
|
1684
|
+
initialPublishedContentHashes: publishedContentHashBaseline(),
|
|
1565
1685
|
});
|
|
1566
1686
|
if (!handles)
|
|
1567
1687
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-runner-watch-loop.js","sourceRoot":"","sources":["../../src/bin/sync-runner-watch-loop.ts"],"names":[],"mappings":"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"}
|