@harperfast/harper 5.2.4 → 5.2.6
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/bin/restart.ts +48 -23
- package/bin/restartExitWatchdog.ts +99 -0
- package/bin/run.ts +16 -10
- package/components/status/crossThread.ts +69 -44
- package/components/status/types.ts +1 -0
- package/dist/bin/restart.js +39 -21
- package/dist/bin/restart.js.map +1 -1
- package/dist/bin/restartExitWatchdog.d.ts +5 -0
- package/dist/bin/restartExitWatchdog.js +100 -0
- package/dist/bin/restartExitWatchdog.js.map +1 -0
- package/dist/bin/run.d.ts +2 -0
- package/dist/bin/run.js +17 -10
- package/dist/bin/run.js.map +1 -1
- package/dist/components/status/crossThread.d.ts +1 -0
- package/dist/components/status/crossThread.js +57 -41
- package/dist/components/status/crossThread.js.map +1 -1
- package/dist/components/status/types.d.ts +1 -0
- package/dist/resources/DatabaseTransaction.d.ts +46 -1
- package/dist/resources/DatabaseTransaction.js +173 -9
- package/dist/resources/DatabaseTransaction.js.map +1 -1
- package/dist/resources/LMDBTransaction.d.ts +2 -0
- package/dist/resources/LMDBTransaction.js +7 -1
- package/dist/resources/LMDBTransaction.js.map +1 -1
- package/dist/resources/Resource.js +5 -4
- package/dist/resources/Resource.js.map +1 -1
- package/dist/resources/ResourceInterface.d.ts +20 -0
- package/dist/resources/ResourceInterface.js.map +1 -1
- package/dist/resources/Table.js +56 -9
- package/dist/resources/Table.js.map +1 -1
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +11 -0
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +153 -51
- package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
- package/dist/resources/transaction.js +4 -2
- package/dist/resources/transaction.js.map +1 -1
- package/dist/server/itc/serverHandlers.js +2 -1
- package/dist/server/itc/serverHandlers.js.map +1 -1
- package/dist/server/threads/manageThreads.d.ts +2 -0
- package/dist/server/threads/manageThreads.js +37 -5
- package/dist/server/threads/manageThreads.js.map +1 -1
- package/dist/utility/processManagement/processManagement.js +21 -3
- package/dist/utility/processManagement/processManagement.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/resources/DESIGN.md +19 -18
- package/resources/DatabaseTransaction.ts +187 -17
- package/resources/LMDBTransaction.ts +7 -1
- package/resources/Resource.ts +6 -5
- package/resources/ResourceInterface.ts +20 -0
- package/resources/Table.ts +60 -8
- package/resources/indexes/HierarchicalNavigableSmallWorld.ts +153 -54
- package/resources/transaction.ts +5 -3
- package/schema.graphql +8 -3
- package/server/DESIGN.md +6 -0
- package/server/itc/serverHandlers.js +2 -1
- package/server/threads/manageThreads.js +34 -5
- package/studio/web/assets/{Chat-BvOlYIhe.js → Chat-BNHY84-Z.js} +1 -1
- package/studio/web/assets/{FloatingChat-fCJiJCH2.js → FloatingChat-BbztUci0.js} +3 -3
- package/studio/web/assets/{apiToken-bKwPv0uN.js → apiToken-D0x_S8Wq.js} +1 -1
- package/studio/web/assets/{applications-BZ47njJ_.js → applications-BU83fSEG.js} +1 -1
- package/studio/web/assets/{index-DF1fSnXV.js → index-BQB9R8Ug.js} +4 -4
- package/studio/web/assets/{index.lazy-DWt8ubrr.js → index.lazy-CtErm5q7.js} +3 -3
- package/studio/web/assets/{notifications-B5ZBOni1.js → notifications-B8rDagJM.js} +1 -1
- package/studio/web/assets/{notifications-gVx0lA8H.js → notifications-CPwYKDDH.js} +1 -1
- package/studio/web/assets/{profile-D7g0x28A.js → profile-D0hB1xdm.js} +1 -1
- package/studio/web/assets/{regions-DRkhlkiD.js → regions-y_jxsBpN.js} +1 -1
- package/studio/web/assets/{setComponentFile-DQkkobG5.js → setComponentFile-DSHbURTI.js} +1 -1
- package/studio/web/assets/{setup-nf-EOheW.js → setup-J5SrM1Kp.js} +1 -1
- package/studio/web/assets/{status-B2tOM3RF.js → status-IoJkDzlx.js} +1 -1
- package/studio/web/assets/{swagger-ui-react-UktCouQ0.js → swagger-ui-react-BlgSS25O.js} +1 -1
- package/studio/web/assets/{useEntityRestURL-alqAn3dT.js → useEntityRestURL-qfahJnvr.js} +1 -1
- package/studio/web/index.html +1 -1
- package/utility/processManagement/processManagement.js +19 -3
|
@@ -25,6 +25,10 @@ export declare class HierarchicalNavigableSmallWorld {
|
|
|
25
25
|
distance: (a: number[], b: number[]) => number;
|
|
26
26
|
int8: boolean;
|
|
27
27
|
efSearchConfigured: boolean;
|
|
28
|
+
efConstructionConfigured: boolean;
|
|
29
|
+
private lastLoggedEfConstruction;
|
|
30
|
+
private idIncrementerRetryAt;
|
|
31
|
+
private idIncrementerFailureLogged;
|
|
28
32
|
private convertedNodes;
|
|
29
33
|
private nodeCount;
|
|
30
34
|
private nodeCountAt;
|
|
@@ -61,6 +65,13 @@ export declare class HierarchicalNavigableSmallWorld {
|
|
|
61
65
|
* the query path may bypass it, or the O(1) lookup becomes per-query work again.
|
|
62
66
|
*/
|
|
63
67
|
private approximateNodeCount;
|
|
68
|
+
private resolveConstructionNodeCount;
|
|
69
|
+
/**
|
|
70
|
+
* Create-or-attach the shared id counter, seeded from a one-time reverse seek to the largest node
|
|
71
|
+
* id. getUserSharedBuffer returns the existing shared buffer when another worker created it
|
|
72
|
+
* first, so the seed only matters for whoever wins the race.
|
|
73
|
+
*/
|
|
74
|
+
private ensureIdIncrementer;
|
|
64
75
|
/** O(1) node count — the shared id counter, else a single reverse seek to the largest node id. */
|
|
65
76
|
private resolveNodeCount;
|
|
66
77
|
private safeGetSync;
|
|
@@ -43,11 +43,16 @@ function dequantizeInt8(q, scale) {
|
|
|
43
43
|
}
|
|
44
44
|
// Auto-scaled search ef, used only when an index does not explicitly configure efConstructionSearch
|
|
45
45
|
// and a query does not pass its own ef. A fixed ef makes recall decay as the graph grows (it explores
|
|
46
|
-
// a shrinking fraction of the graph), so ef grows with sqrt(node count)
|
|
47
|
-
//
|
|
48
|
-
// 5K
|
|
49
|
-
//
|
|
50
|
-
// ef
|
|
46
|
+
// a shrinking fraction of the graph), so ef grows with sqrt(node count) in two regimes, with a
|
|
47
|
+
// ceiling to bound search cost. The first regime's constants come from the original recall/latency
|
|
48
|
+
// sweep (5K-30K, 768-dim cosine, int8) and plateau at AUTO_EF_MAX from ~13K nodes; that plateau was
|
|
49
|
+
// calibrated when layers above 0 were searched at the full ef, which made large efs cost seconds.
|
|
50
|
+
// After the greedy-descent fix (#2125) ef 1024 at 5M nodes costs ~45ms, and the measured decay at a
|
|
51
|
+
// pinned 512 (set-recall 0.997 -> 0.955 -> 0.935 across 1M/2M/5M on well-built graphs, #2181) is
|
|
52
|
+
// recall left on the table, so past AUTO_EF_LARGE_REF nodes the scale resumes from that plateau and
|
|
53
|
+
// runs to AUTO_EF_CEILING. Validated against the same sweeps: the second regime resolves 1,145 at
|
|
54
|
+
// 5M, and the measured ef-1024 point there holds 0.985. Apps preferring latency pin
|
|
55
|
+
// efConstructionSearch or a per-query ef; graphs past ~tens of millions of nodes should shard.
|
|
51
56
|
const AUTO_EF_BASE = 100;
|
|
52
57
|
// The index store holds a graph node plus a primary-key mapping per record, so a key count is twice
|
|
53
58
|
// the node count. Sizes here are in nodes; this converts back for the one consumer still calibrated
|
|
@@ -58,7 +63,15 @@ const INDEX_KEYS_PER_NODE = 2;
|
|
|
58
63
|
// a live count, so the resolved ef can differ from that formula by one at a rounding boundary.
|
|
59
64
|
const AUTO_EF_REF = 500;
|
|
60
65
|
const AUTO_EF_MAX = 512;
|
|
66
|
+
// Nodes at which the second regime starts: 512 was measured sufficient through 1M (set-recall
|
|
67
|
+
// 0.997) and short from 2M up, so the resumed curve is anchored to pass through (1M, 512).
|
|
68
|
+
const AUTO_EF_LARGE_REF = 1_000_000;
|
|
69
|
+
const AUTO_EF_CEILING = 2048;
|
|
61
70
|
function autoScaleEf(nodeCount) {
|
|
71
|
+
if (nodeCount > AUTO_EF_LARGE_REF) {
|
|
72
|
+
const scaled = Math.round(AUTO_EF_MAX * Math.sqrt(nodeCount / AUTO_EF_LARGE_REF));
|
|
73
|
+
return Math.min(AUTO_EF_CEILING, scaled);
|
|
74
|
+
}
|
|
62
75
|
const scaled = Math.round(AUTO_EF_BASE * Math.sqrt(Math.max(1, nodeCount / AUTO_EF_REF)));
|
|
63
76
|
return Math.min(AUTO_EF_MAX, Math.max(AUTO_EF_BASE, scaled));
|
|
64
77
|
}
|
|
@@ -68,10 +81,24 @@ function autoScaleEf(nodeCount) {
|
|
|
68
81
|
const ROUTING_EF = 1;
|
|
69
82
|
// Ceiling on the ef a query's own `offset + limit` can ask for. `limit` is unprivileged and set on
|
|
70
83
|
// every request, so this bounds what a caller can make one thread do synchronously: layer 0 holds
|
|
71
|
-
// `ef` candidates in a sorted array with an O(len) insert. Kept within a small multiple of
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
const LIMIT_EF_MAX =
|
|
84
|
+
// `ef` candidates in a sorted array with an O(len) insert. Kept within a small multiple of the
|
|
85
|
+
// index's own auto-scaled ceiling so the worst case stays the same order. Schema and per-query ef
|
|
86
|
+
// pins are authoritative cost ceilings; only an automatically scaled index widens from `limit`.
|
|
87
|
+
const LIMIT_EF_MAX = 2 * AUTO_EF_CEILING;
|
|
88
|
+
// Auto-scaled construction ef, used only when an index does not explicitly configure efConstruction.
|
|
89
|
+
// At a constant efConstruction, edge quality erodes as the graph grows until true neighbours become
|
|
90
|
+
// unreachable at ANY search ef; the cap bounds per-insert cost. Measurements and policy in
|
|
91
|
+
// DESIGN.md ("efConstruction and the search-ef ceiling both auto-scale with the graph") and #2180.
|
|
92
|
+
const AUTO_EFC_REF = 250_000;
|
|
93
|
+
// Validated to 447 (the 5M point, where the resulting graph held 0.985 set-recall at ef 1024); the
|
|
94
|
+
// headroom to 1024 is the same sqrt curve extrapolated, binding at ~26M nodes. Build cost grows
|
|
95
|
+
// with the curve (N^1.5 total under sqrt scaling), which is why the cap stays finite: past ~tens of
|
|
96
|
+
// millions of nodes, sharded medium graphs beat one huge graph on both build and query cost.
|
|
97
|
+
const AUTO_EFC_MAX = 1024;
|
|
98
|
+
function autoScaleEfConstruction(nodeCount) {
|
|
99
|
+
const scaled = Math.round(AUTO_EF_BASE * Math.sqrt(Math.max(1, nodeCount / AUTO_EFC_REF)));
|
|
100
|
+
return Math.min(AUTO_EFC_MAX, Math.max(AUTO_EF_BASE, scaled));
|
|
101
|
+
}
|
|
75
102
|
// How long a resolved graph size is reused before it is looked up again (see approximateNodeCount).
|
|
76
103
|
// ef moves with the square root of the count and is capped, so a slightly stale size is immaterial;
|
|
77
104
|
// this only has to be short enough that a table growing from empty picks up a larger ef promptly.
|
|
@@ -171,21 +198,21 @@ class HierarchicalNavigableSmallWorld {
|
|
|
171
198
|
// a value of 1 is extremely aggressive.
|
|
172
199
|
optimizeRouting = 0.5;
|
|
173
200
|
nodesVisitedCount = 0;
|
|
174
|
-
// Visit-budget multiplier for predicate-aware traversal (#1241).
|
|
175
|
-
//
|
|
176
|
-
//
|
|
177
|
-
//
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
// ~ef/s visits; a multiplier of 24 fills down to ~4% selectivity before the budget bites, keeping
|
|
181
|
-
// recall at or above post-filtering across the range the query planner routes to traversal. Raising
|
|
182
|
-
// it is nearly free for condition-derived filters (they fill and self-terminate); it mainly trades
|
|
183
|
-
// latency for recall on selective *function* predicates. Per-query override via the search options.
|
|
201
|
+
// Visit-budget multiplier for predicate-aware traversal (#1241). Under-filled filtered searches
|
|
202
|
+
// stop after the resolved budget ef * filterExpansion visits; automatic search ef contributes at
|
|
203
|
+
// most AUTO_EF_MAX, while explicit schema/query ef remains authoritative. A filter that fills its
|
|
204
|
+
// candidate list terminates naturally before this bound. Raising the multiplier mainly trades
|
|
205
|
+
// latency for recall on selective function predicates; 24 fills to roughly 4% selectivity before
|
|
206
|
+
// the budget binds. Per-query override via the search options.
|
|
184
207
|
filterExpansion = 24;
|
|
185
208
|
idIncrementer;
|
|
186
209
|
distance;
|
|
187
210
|
int8 = true; // store vectors as int8-quantized bins by default; opt out with `quantization: "none"`
|
|
188
|
-
efSearchConfigured = false; // whether the schema
|
|
211
|
+
efSearchConfigured = false; // whether the schema pins search ef directly or through efConstruction
|
|
212
|
+
efConstructionConfigured = false; // whether the schema set an explicit efConstruction; if not, it auto-scales with N
|
|
213
|
+
lastLoggedEfConstruction = 0;
|
|
214
|
+
idIncrementerRetryAt = 0;
|
|
215
|
+
idIncrementerFailureLogged = false;
|
|
189
216
|
// Caches the Int8Array-converted clone of a frozen (decoded-from-disk) int8 node, keyed by the
|
|
190
217
|
// frozen node the object store hands back. WeakMap so entries are collected when the store evicts
|
|
191
218
|
// the frozen node — without it, every cache hit on a frozen node would re-slice and re-clone.
|
|
@@ -200,8 +227,9 @@ class HierarchicalNavigableSmallWorld {
|
|
|
200
227
|
this.indexStore.encoder.useFloat32 = msgpackr_1.FLOAT32_OPTIONS.ALWAYS;
|
|
201
228
|
}
|
|
202
229
|
this.int8 = options?.quantization !== 'none';
|
|
203
|
-
// Respect an explicitly-configured
|
|
230
|
+
// Respect an explicitly-configured ef (efConstruction seeds the search ef too); otherwise auto-scale both.
|
|
204
231
|
this.efSearchConfigured = options?.efConstructionSearch !== undefined || options?.efConstruction !== undefined;
|
|
232
|
+
this.efConstructionConfigured = options?.efConstruction !== undefined;
|
|
205
233
|
this.distance =
|
|
206
234
|
options?.distance === 'euclidean'
|
|
207
235
|
? vector_ts_1.euclideanDistance
|
|
@@ -249,21 +277,7 @@ class HierarchicalNavigableSmallWorld {
|
|
|
249
277
|
if (!nodeId) {
|
|
250
278
|
if (!vector)
|
|
251
279
|
return; // didn't exist before, doesn't exist now, nothing to do
|
|
252
|
-
|
|
253
|
-
let largestNodeId = 0;
|
|
254
|
-
for (const key of this.indexStore.getKeys({
|
|
255
|
-
reverse: true,
|
|
256
|
-
limit: 1,
|
|
257
|
-
start: Infinity,
|
|
258
|
-
end: 0,
|
|
259
|
-
transaction: options.transaction,
|
|
260
|
-
})) {
|
|
261
|
-
if (typeof key === 'number')
|
|
262
|
-
largestNodeId = key;
|
|
263
|
-
}
|
|
264
|
-
this.idIncrementer = new BigInt64Array([BigInt(largestNodeId) + 1n]);
|
|
265
|
-
this.idIncrementer = new BigInt64Array(this.indexStore.getUserSharedBuffer('next-id', this.idIncrementer.buffer));
|
|
266
|
-
}
|
|
280
|
+
this.ensureIdIncrementer(options);
|
|
267
281
|
nodeId = Number(Atomics.add(this.idIncrementer, 0, 1n));
|
|
268
282
|
this.indexStore.put(safeKey, nodeId, options);
|
|
269
283
|
}
|
|
@@ -363,9 +377,26 @@ class HierarchicalNavigableSmallWorld {
|
|
|
363
377
|
for (let i = 0; i <= level; i++) {
|
|
364
378
|
connections[i] = [];
|
|
365
379
|
}
|
|
366
|
-
//
|
|
380
|
+
// An update-only worker may not have attached the id counter yet. The healthy path is one
|
|
381
|
+
// atomic load; a failed attach falls back to the memoized seek and retries after its TTL.
|
|
382
|
+
let efConstruction = this.efConstruction;
|
|
383
|
+
if (!this.efConstructionConfigured) {
|
|
384
|
+
// Graph size only tunes a heuristic; a write must never fail because it could not be resolved.
|
|
385
|
+
try {
|
|
386
|
+
efConstruction = autoScaleEfConstruction(this.resolveConstructionNodeCount(options));
|
|
387
|
+
}
|
|
388
|
+
catch (error) {
|
|
389
|
+
logger.debug?.('could not resolve the HNSW construction node count; using the base ef', error);
|
|
390
|
+
}
|
|
391
|
+
if (efConstruction > this.efConstruction && this.lastLoggedEfConstruction !== efConstruction) {
|
|
392
|
+
// once per resolved value per process: makes replica-divergent build quality and the
|
|
393
|
+
// build-cost ramp diagnosable (the resolved value is otherwise surfaced nowhere)
|
|
394
|
+
this.lastLoggedEfConstruction = efConstruction;
|
|
395
|
+
logger.debug?.(`HNSW construction ef auto-scaled to ${efConstruction}`);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
367
398
|
for (let l = Math.min(level, currentLevel); l >= 0; l--) {
|
|
368
|
-
let neighbors = this.searchLayer(vector, entryPointId, entryPoint,
|
|
399
|
+
let neighbors = this.searchLayer(vector, entryPointId, entryPoint, efConstruction, l, options);
|
|
369
400
|
neighbors = neighbors.slice(0, this.M << 1);
|
|
370
401
|
if (neighbors.length === 0 && l === 0) {
|
|
371
402
|
logger.info?.('should not have zero connections for', entryPointId);
|
|
@@ -526,8 +557,7 @@ class HierarchicalNavigableSmallWorld {
|
|
|
526
557
|
}
|
|
527
558
|
}
|
|
528
559
|
this.indexStore.remove(nodeId, options);
|
|
529
|
-
//
|
|
530
|
-
// and a re-insert of this primary key gets a fresh node rather than the deleted node's id.
|
|
560
|
+
// A re-insert of this primary key must get a fresh node rather than the deleted node's id.
|
|
531
561
|
this.indexStore.remove(safeKey, options);
|
|
532
562
|
}
|
|
533
563
|
const needsReindexing = new Map();
|
|
@@ -720,20 +750,86 @@ class HierarchicalNavigableSmallWorld {
|
|
|
720
750
|
* measurements behind both. The memo is the only gate on how often the size is resolved; nothing on
|
|
721
751
|
* the query path may bypass it, or the O(1) lookup becomes per-query work again.
|
|
722
752
|
*/
|
|
723
|
-
approximateNodeCount() {
|
|
753
|
+
approximateNodeCount(options) {
|
|
724
754
|
const now = Date.now();
|
|
725
755
|
if (this.nodeCountAt > 0 && now - this.nodeCountAt < NODE_COUNT_TTL)
|
|
726
756
|
return this.nodeCount;
|
|
727
|
-
this.nodeCount = this.resolveNodeCount();
|
|
757
|
+
this.nodeCount = this.resolveNodeCount(options);
|
|
728
758
|
this.nodeCountAt = now;
|
|
729
759
|
return this.nodeCount;
|
|
730
760
|
}
|
|
761
|
+
resolveConstructionNodeCount(options) {
|
|
762
|
+
if (this.idIncrementer)
|
|
763
|
+
return this.resolveNodeCount();
|
|
764
|
+
const now = Date.now();
|
|
765
|
+
if (now >= this.idIncrementerRetryAt) {
|
|
766
|
+
try {
|
|
767
|
+
this.ensureIdIncrementer(options);
|
|
768
|
+
this.idIncrementerRetryAt = 0;
|
|
769
|
+
this.idIncrementerFailureLogged = false;
|
|
770
|
+
return this.resolveNodeCount();
|
|
771
|
+
}
|
|
772
|
+
catch (error) {
|
|
773
|
+
this.idIncrementerRetryAt = now + NODE_COUNT_TTL;
|
|
774
|
+
if (!this.idIncrementerFailureLogged) {
|
|
775
|
+
this.idIncrementerFailureLogged = true;
|
|
776
|
+
logger.warn?.('could not attach the shared HNSW id counter; using a memoized node count', error);
|
|
777
|
+
}
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
return this.approximateNodeCount(options);
|
|
781
|
+
}
|
|
782
|
+
/**
|
|
783
|
+
* Create-or-attach the shared id counter, seeded from a one-time reverse seek to the largest node
|
|
784
|
+
* id. getUserSharedBuffer returns the existing shared buffer when another worker created it
|
|
785
|
+
* first, so the seed only matters for whoever wins the race.
|
|
786
|
+
*/
|
|
787
|
+
ensureIdIncrementer(options) {
|
|
788
|
+
if (this.idIncrementer)
|
|
789
|
+
return;
|
|
790
|
+
let largestNodeId = 0;
|
|
791
|
+
for (const key of this.indexStore.getKeys({
|
|
792
|
+
reverse: true,
|
|
793
|
+
limit: 1,
|
|
794
|
+
start: Infinity,
|
|
795
|
+
end: 0,
|
|
796
|
+
transaction: options?.transaction,
|
|
797
|
+
})) {
|
|
798
|
+
if (typeof key === 'number')
|
|
799
|
+
largestNodeId = key;
|
|
800
|
+
}
|
|
801
|
+
// Never install the counter until the shared attach succeeds: assigning the private seed
|
|
802
|
+
// array first would, on an attach failure, leave THIS process allocating ids nobody else can
|
|
803
|
+
// see — cross-worker id collisions. Left unset, the next write simply retries the ensure.
|
|
804
|
+
const seed = new BigInt64Array([BigInt(largestNodeId) + 1n]);
|
|
805
|
+
try {
|
|
806
|
+
const sharedBuffer = this.indexStore.getUserSharedBuffer('next-id', seed.buffer);
|
|
807
|
+
if (!sharedBuffer ||
|
|
808
|
+
sharedBuffer.byteLength < BigInt64Array.BYTES_PER_ELEMENT ||
|
|
809
|
+
sharedBuffer.byteLength % BigInt64Array.BYTES_PER_ELEMENT !== 0) {
|
|
810
|
+
throw new Error('Shared HNSW id counter buffer is unusable');
|
|
811
|
+
}
|
|
812
|
+
this.idIncrementer = new BigInt64Array(sharedBuffer);
|
|
813
|
+
}
|
|
814
|
+
catch (error) {
|
|
815
|
+
// Reuse the transactional seed seek as the degraded count instead of seeking a second time.
|
|
816
|
+
this.nodeCount = largestNodeId + 1;
|
|
817
|
+
this.nodeCountAt = Date.now();
|
|
818
|
+
throw error;
|
|
819
|
+
}
|
|
820
|
+
}
|
|
731
821
|
/** O(1) node count — the shared id counter, else a single reverse seek to the largest node id. */
|
|
732
|
-
resolveNodeCount() {
|
|
822
|
+
resolveNodeCount(options) {
|
|
733
823
|
if (this.idIncrementer)
|
|
734
824
|
return Number(Atomics.load(this.idIncrementer, 0));
|
|
735
825
|
try {
|
|
736
|
-
for (const key of this.indexStore.getKeys({
|
|
826
|
+
for (const key of this.indexStore.getKeys({
|
|
827
|
+
reverse: true,
|
|
828
|
+
limit: 1,
|
|
829
|
+
start: Infinity,
|
|
830
|
+
end: 0,
|
|
831
|
+
transaction: options?.transaction,
|
|
832
|
+
})) {
|
|
737
833
|
if (typeof key === 'number')
|
|
738
834
|
return key + 1;
|
|
739
835
|
}
|
|
@@ -1025,8 +1121,8 @@ class HierarchicalNavigableSmallWorld {
|
|
|
1025
1121
|
if (!Array.isArray(target))
|
|
1026
1122
|
throw new hdbError_ts_1.ClientError('The target vector must be an array');
|
|
1027
1123
|
const options = context.transaction; // should have a nested RocksDB transaction
|
|
1028
|
-
// Resolve search ef: per-query ef wins; else
|
|
1029
|
-
//
|
|
1124
|
+
// Resolve search ef: per-query ef wins; else use the schema-pinned value (from either ef option);
|
|
1125
|
+
// otherwise auto-scale with the graph size so recall holds as the table grows.
|
|
1030
1126
|
let effectiveEf = this.efConstructionSearch;
|
|
1031
1127
|
const explicitEf = ef !== undefined && ef > 0;
|
|
1032
1128
|
if (explicitEf)
|
|
@@ -1041,22 +1137,28 @@ class HierarchicalNavigableSmallWorld {
|
|
|
1041
1137
|
// to cover the request, up to LIMIT_EF_MAX — `ef` sizes a synchronous traversal that holds every
|
|
1042
1138
|
// admitted candidate in a sorted array with an O(len) insert, so an unbounded one lets a plain
|
|
1043
1139
|
// `limit` stall the thread. Past the ceiling the result set is still short, as it was before.
|
|
1044
|
-
//
|
|
1045
|
-
//
|
|
1140
|
+
// Schema and per-query `ef` pins are authoritative cost ceilings. Only an automatically scaled
|
|
1141
|
+
// index widens toward LIMIT_EF_MAX to cover a larger bounded request.
|
|
1046
1142
|
// The ceiling is the only bound: clamping to the graph size as well would need a count exact as
|
|
1047
1143
|
// of this query — the memo reads low while a table grows, truncating the very limit this
|
|
1048
1144
|
// honours — and an ef above the node count is free, the traversal ending at the graph, not ef.
|
|
1049
|
-
if (minResults !== undefined && !explicitEf && minResults > effectiveEf) {
|
|
1145
|
+
if (minResults !== undefined && !explicitEf && !this.efSearchConfigured && minResults > effectiveEf) {
|
|
1050
1146
|
effectiveEf = Math.max(effectiveEf, Math.min(minResults, LIMIT_EF_MAX));
|
|
1051
1147
|
}
|
|
1052
1148
|
// Predicate-aware traversal budget (#1241): matches accrue slower than visits under a selective
|
|
1053
1149
|
// filter, so bound layer-0 work at ef * filterExpansion nodes. Only built when a filter is active.
|
|
1054
1150
|
// Deliberately `resolvedEf`, not the limit-widened ef: this budget is what stops a selective
|
|
1055
1151
|
// filter crawling the whole graph, and multiplying it by a caller's limit would turn a filtered
|
|
1056
|
-
// vector query into a record-loading scan.
|
|
1152
|
+
// vector query into a record-loading scan. When the ef came from the auto-scale (neither a
|
|
1153
|
+
// per-query ef nor a schema-configured one), its budget contribution is additionally capped at
|
|
1154
|
+
// AUTO_EF_MAX: every budgeted visit is a synchronous record load + predicate evaluation, so the
|
|
1155
|
+
// second-regime search ef (up to AUTO_EF_CEILING) must not silently quadruple the filtered
|
|
1156
|
+
// worst case — the recall decision and the filtered-scan budget are separate decisions. Callers
|
|
1157
|
+
// wanting a deeper filtered search set an explicit ef or filterExpansion, and own the cost.
|
|
1057
1158
|
const filterState = filter
|
|
1058
1159
|
? {
|
|
1059
|
-
maxVisits:
|
|
1160
|
+
maxVisits: (explicitEf || this.efSearchConfigured ? resolvedEf : Math.min(resolvedEf, AUTO_EF_MAX)) *
|
|
1161
|
+
(filterExpansion && filterExpansion > 0 ? filterExpansion : this.filterExpansion),
|
|
1060
1162
|
nodesVisited: 0,
|
|
1061
1163
|
filterEvaluations: 0,
|
|
1062
1164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HierarchicalNavigableSmallWorld.js","sourceRoot":"","sources":["../../../resources/indexes/HierarchicalNavigableSmallWorld.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HierarchicalNavigableSmallWorld.js","sourceRoot":"","sources":["../../../resources/indexes/HierarchicalNavigableSmallWorld.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,10 +32,12 @@ function transaction(ctx, callback) {
|
|
|
32
32
|
if (typeof callback !== 'function') {
|
|
33
33
|
throw new TypeError('Callback function must be provided to transaction');
|
|
34
34
|
}
|
|
35
|
-
if (context?.transaction
|
|
35
|
+
if ((0, DatabaseTransaction_ts_1.isJoinableScope)(context?.transaction) && typeof callback === 'function') {
|
|
36
36
|
return callback(context.transaction); // nothing to be done, already in open transaction
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
// scopeOwned: onComplete/onError below guarantee this instance a final commit or an abort, which is
|
|
39
|
+
// what lets a mid-scope commit rotate it instead of leaving later writes to commit themselves.
|
|
40
|
+
const transaction = new DatabaseTransaction_ts_1.DatabaseTransaction({ scopeOwned: true });
|
|
39
41
|
context.transaction = transaction;
|
|
40
42
|
if (context.timestamp)
|
|
41
43
|
transaction.timestamp = context.timestamp;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../resources/transaction.ts"],"names":[],"mappings":";;;AAoBA,
|
|
1
|
+
{"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../resources/transaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ const { validateEvent } = require('../threads/itc.js');
|
|
|
8
8
|
const harperBridge = require("../../dataLayer/harperBridge/harperBridge.js").default ||
|
|
9
9
|
require("../../dataLayer/harperBridge/harperBridge.js");
|
|
10
10
|
const process = require('process');
|
|
11
|
-
const { isMainThread, workerData } = require('worker_threads');
|
|
11
|
+
const { isMainThread, threadId, workerData } = require('node:worker_threads');
|
|
12
12
|
const { resetDatabases, closeDatabase } = require("../../resources/databases.js");
|
|
13
13
|
/**
|
|
14
14
|
* This object/functions are passed to the ITC client instance and dynamically added as event handlers.
|
|
@@ -173,6 +173,7 @@ async function componentStatusRequestHandler(event) {
|
|
|
173
173
|
message: {
|
|
174
174
|
requestId: event.message.requestId,
|
|
175
175
|
statuses: statusArray,
|
|
176
|
+
threadId,
|
|
176
177
|
workerIndex: workerIndex,
|
|
177
178
|
isMainThread: isMainThread,
|
|
178
179
|
},
|