@indigoai-us/hq-cloud 6.15.73 → 6.15.75
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/journal-store.test.js +12 -0
- package/dist/journal-store.test.js.map +1 -1
- package/dist/sync/state-store.d.ts +30 -5
- package/dist/sync/state-store.d.ts.map +1 -1
- package/dist/sync/state-store.js +830 -128
- package/dist/sync/state-store.js.map +1 -1
- package/dist/sync/state-store.test.js +331 -3
- package/dist/sync/state-store.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -70,6 +70,18 @@ describe("JournalStore", () => {
|
|
|
70
70
|
session.refresh();
|
|
71
71
|
expect(session.get("after-generation.md")).toMatchObject({ size: 4 });
|
|
72
72
|
});
|
|
73
|
+
it("rebuilds its projection before committing after another writer publishes a generation", () => {
|
|
74
|
+
writeJournal("acme", journal({ "before.md": entry(1) }));
|
|
75
|
+
const reader = openJournalStoreSession("acme");
|
|
76
|
+
const writer = openJournalStoreSession("acme");
|
|
77
|
+
writer.applyDelta({ upserts: { "before-compaction.md": entry(2) } });
|
|
78
|
+
repairJournalState("acme");
|
|
79
|
+
writer.applyDelta({ upserts: { "after-compaction.md": entry(3) } });
|
|
80
|
+
reader.applyDelta({ upserts: { "reader-commit.md": entry(4) } });
|
|
81
|
+
expect(reader.get("before-compaction.md")).toMatchObject({ size: 2 });
|
|
82
|
+
expect(reader.get("after-compaction.md")).toMatchObject({ size: 3 });
|
|
83
|
+
expect(reader.get("reader-commit.md")).toMatchObject({ size: 4 });
|
|
84
|
+
});
|
|
73
85
|
it("returns immutable copies and scans exact descendants without leaking its map", () => {
|
|
74
86
|
writeJournal("acme", journal({
|
|
75
87
|
"dir/a.md": entry(1),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journal-store.test.js","sourceRoot":"","sources":["../src/journal-store.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"journal-store.test.js","sourceRoot":"","sources":["../src/journal-store.test.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACrE,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,kBAAkB,EAClB,YAAY,GACb,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,yCAAyC,EACzC,2CAA2C,GAC5C,MAAM,uBAAuB,CAAC;AAE/B,IAAI,QAAQ,GAAG,EAAE,CAAC;AAElB,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC;IACrB,OAAO;QACL,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI;QACJ,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE,MAAM;QACjB,UAAU,EAAE,QAAQ,IAAI,EAAE;QAC1B,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAmC;IAClD,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;AACjE,CAAC;AAED,UAAU,CAAC,GAAG,EAAE;IACd,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC;IACpC,2CAA2C,EAAE,CAAC;AAChD,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAChC,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,aAAa,KAAK,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CACtF,CAAC;QACF,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,2CAA2C,EAAE,CAAC;QAE9C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,CAAC,yCAAyC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC;YACxC,OAAO,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,aAAa,KAAK,KAAK,CAAC;YACpC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;YAC5B,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,KAAM,EAAE,iBAAiB,EAAE;4BACrE,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,KAAM,CAAC,UAAW;4BAC9B,SAAS,EAAE,KAAM,CAAC,IAAI;4BACtB,SAAS,EAAE,MAAM;yBAClB,EAAE,EAAE,EAAE,CAAC,CAAC;QACX,CAAC;QACD,MAAM,CAAC,yCAAyC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC5D,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kFAAkF,EAAE,GAAG,EAAE;QAC1F,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAEhD,MAAM,UAAU,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACvC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5C,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAE/D,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qFAAqF,EAAE,GAAG,EAAE;QAC7F,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChD,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QACrC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACjD,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE/B,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACxE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uFAAuF,EAAE,GAAG,EAAE;QAC/F,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,sBAAsB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrE,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,qBAAqB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpE,MAAM,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACtE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YACpB,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC;YAC3B,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;SACrB,CAAC,CAAC,CAAC;QACJ,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,GAAI,GAAoB,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAE/F,OAAO,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE;wBAC5E,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM;qBAC/E,EAAE,EAAE,EAAE,CAAC,CAAC;QACT,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,iBAAkB,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9E,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
export declare function resetStateStoreSnapshotRecoveryCountForTest(): void;
|
|
2
2
|
export declare function getStateStoreSnapshotRecoveryCountForTest(): number;
|
|
3
|
+
export declare function resetStateStoreSnapshotMaterializationCountForTest(): void;
|
|
4
|
+
export declare function getStateStoreSnapshotMaterializationCountForTest(): number;
|
|
5
|
+
export declare function resetStateStoreSnapshotEncodeCountForTest(): void;
|
|
6
|
+
export declare function getStateStoreSnapshotEncodeCountForTest(): number;
|
|
7
|
+
/** Test-only seam placed immediately before the expensive snapshot write. */
|
|
8
|
+
export declare function setStateStoreSnapshotWriteHookForTest(hook: (() => void) | undefined): void;
|
|
9
|
+
/** Test-only seam after snapshot validation and before its large payload read. */
|
|
10
|
+
export declare function setStateStoreSnapshotReadHookForTest(hook: (() => void) | undefined): void;
|
|
11
|
+
/** Test-only seam after the WAL length is sampled during cold recovery. */
|
|
12
|
+
export declare function setStateStoreWalReadHookForTest(hook: (() => void) | undefined): void;
|
|
13
|
+
/** Test-only crash seam after durable staging and before lock-protected publish. */
|
|
14
|
+
export declare function setStateStoreAfterGenerationStageHookForTest(hook: (() => void) | undefined): void;
|
|
15
|
+
/** Test-only seam for filesystems that do not support forced reflinks. */
|
|
16
|
+
export declare function setStateStoreReflinkCopyHookForTest(hook: (() => void) | undefined): void;
|
|
17
|
+
/** Test-only seam for short positional snapshot writes. */
|
|
18
|
+
export declare function setStateStorePositionalWriteForTest(write: ((fd: number, bytes: Buffer, offset: number, length: number, position: number) => number) | undefined): void;
|
|
19
|
+
/** Test-only seam for rotation-claim PID write failures. */
|
|
20
|
+
export declare function setStateStoreRotationClaimWriteHookForTest(hook: (() => void) | undefined): void;
|
|
3
21
|
export interface StateStoreRecord<T = unknown> {
|
|
4
22
|
sequence: number;
|
|
5
23
|
type: number;
|
|
@@ -75,15 +93,17 @@ export declare class StateStore<T> {
|
|
|
75
93
|
private recordCount;
|
|
76
94
|
private walBytes;
|
|
77
95
|
private maxRecoveryReadBytes;
|
|
96
|
+
private observedHighestSnapshotGeneration;
|
|
78
97
|
private constructor();
|
|
79
98
|
static exists(rootDir: string, scopeId: string): boolean;
|
|
80
99
|
static open<T>(options: StateStoreOptions<T>): StateStore<T>;
|
|
81
100
|
/** Yielding first-open variant for callback-originated projections. */
|
|
82
101
|
static openAsync<T>(options: StateStoreOptions<T>): Promise<StateStore<T>>;
|
|
83
102
|
/**
|
|
84
|
-
* Repair an over-budget generation without
|
|
85
|
-
*
|
|
86
|
-
* the
|
|
103
|
+
* Repair an over-budget generation without making appenders wait for snapshot
|
|
104
|
+
* I/O. Recovery captures a stable generation while holding the scope lock,
|
|
105
|
+
* then materialises the replacement off-lock; publication is conditional on
|
|
106
|
+
* that source generation still being current.
|
|
87
107
|
*/
|
|
88
108
|
static repairIfNeeded<T>(options: StateStoreOptions<T>, maintenance?: StateStoreMaintenanceOptions): StateStoreMaintenanceResult;
|
|
89
109
|
getState(): T;
|
|
@@ -114,11 +134,16 @@ export declare class StateStore<T> {
|
|
|
114
134
|
* and retain the prior compact copy.
|
|
115
135
|
*/
|
|
116
136
|
replaceState(nextState: T): void;
|
|
137
|
+
private replaceStateAttempt;
|
|
117
138
|
/** Create G+1 without ever merging two generations during recovery. */
|
|
118
139
|
compact(): void;
|
|
119
140
|
private refreshFromDisk;
|
|
120
|
-
private
|
|
121
|
-
private
|
|
141
|
+
private recoverNewestGenerationOutsideLock;
|
|
142
|
+
private recoverNewestGenerationOutsideLockAsync;
|
|
143
|
+
private needsCompaction;
|
|
144
|
+
private compactionPlan;
|
|
145
|
+
/** Materialise off-lock, then publish only if no writer advanced the source. */
|
|
146
|
+
private publishCompactionPlan;
|
|
122
147
|
private installGeneration;
|
|
123
148
|
}
|
|
124
149
|
//# sourceMappingURL=state-store.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../src/sync/state-store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../src/sync/state-store.ts"],"names":[],"mappings":"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"}
|