diff --git a/npm/packages/rvf/dist/backend.d.ts b/npm/packages/rvf/dist/backend.d.ts index c984eb52f..30bd08d38 100644 --- a/npm/packages/rvf/dist/backend.d.ts +++ b/npm/packages/rvf/dist/backend.d.ts @@ -79,9 +79,27 @@ export declare class NodeBackend implements RvfBackend { private resolveLabel; /** Path to the sidecar mappings file. */ private mappingsPath; - /** Persist the string↔label mapping to a sidecar JSON file. */ + /** + * Persist the string↔label mapping to a sidecar JSON file. + * + * `delete()` resolves string ids through this map and silently filters out + * anything unresolvable, so a lost or torn write turns every ingest since + * the last good save into an undeletable-by-id vector. Persistence is + * therefore NOT best-effort: the write is made atomic (temp file + rename, + * so a crash/ENOSPC mid-write can never leave partial JSON at `mp`) and a + * failure is surfaced rather than swallowed. + */ private saveMappings; - /** Load the string↔label mapping from the sidecar JSON file if it exists. */ + /** + * Load the string↔label mapping from the sidecar JSON file if it exists. + * + * A corrupt sidecar must NOT degrade to empty maps: `nextLabel` would reset + * to 1 and subsequent ingests would assign labels colliding with existing + * vectors (silent data corruption), and the next `saveMappings()` would + * overwrite the recoverable file. Instead the corrupt sidecar is quarantined + * (renamed aside so it is not clobbered) and a `SidecarCorrupt` error is + * raised so the caller learns string-id operations are unsafe. + */ private loadMappings; } /** diff --git a/npm/packages/rvf/dist/backend.js b/npm/packages/rvf/dist/backend.js index b74e36b63..f0e64437a 100644 --- a/npm/packages/rvf/dist/backend.js +++ b/npm/packages/rvf/dist/backend.js @@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? ( }) : function(o, v) { o["default"] = v; }); -var __importStar = (this && this.__importStar) || (function () { - var ownKeys = function(o) { - ownKeys = Object.getOwnPropertyNames || function (o) { - var ar = []; - for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; - return ar; - }; - return ownKeys(o); - }; - return function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); - __setModuleDefault(result, mod); - return result; - }; -})(); +var __importStar = (this && this.__importStar) || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); + __setModuleDefault(result, mod); + return result; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.WasmBackend = exports.NodeBackend = void 0; exports.resolveBackend = resolveBackend; @@ -377,41 +367,77 @@ class NodeBackend { mappingsPath() { return this.storePath ? this.storePath + '.idmap.json' : ''; } - /** Persist the string↔label mapping to a sidecar JSON file. */ + /** + * Persist the string↔label mapping to a sidecar JSON file. + * + * `delete()` resolves string ids through this map and silently filters out + * anything unresolvable, so a lost or torn write turns every ingest since + * the last good save into an undeletable-by-id vector. Persistence is + * therefore NOT best-effort: the write is made atomic (temp file + rename, + * so a crash/ENOSPC mid-write can never leave partial JSON at `mp`) and a + * failure is surfaced rather than swallowed. + */ async saveMappings() { const mp = this.mappingsPath(); if (!mp) return; + const fs = await Promise.resolve().then(() => __importStar(require('fs'))); + const data = JSON.stringify({ + idToLabel: Object.fromEntries(this.idToLabel), + labelToId: Object.fromEntries(Array.from(this.labelToId.entries()).map(([k, v]) => [String(k), v])), + nextLabel: this.nextLabel, + }); + const tmp = `${mp}.tmp`; try { - const fs = await Promise.resolve().then(() => __importStar(require('fs'))); - const data = JSON.stringify({ - idToLabel: Object.fromEntries(this.idToLabel), - labelToId: Object.fromEntries(Array.from(this.labelToId.entries()).map(([k, v]) => [String(k), v])), - nextLabel: this.nextLabel, - }); - fs.writeFileSync(mp, data, 'utf-8'); + fs.writeFileSync(tmp, data, 'utf-8'); + fs.renameSync(tmp, mp); } - catch { - // Non-fatal: mapping persistence is best-effort (e.g. read-only FS). + catch (err) { + try { + fs.rmSync(tmp, { force: true }); + } + catch { + // best-effort cleanup of the temp file + } + throw new errors_1.RvfError(errors_1.RvfErrorCode.SidecarWriteFailed, `at ${mp}: ${err instanceof Error ? err.message : String(err)}`); } } - /** Load the string↔label mapping from the sidecar JSON file if it exists. */ + /** + * Load the string↔label mapping from the sidecar JSON file if it exists. + * + * A corrupt sidecar must NOT degrade to empty maps: `nextLabel` would reset + * to 1 and subsequent ingests would assign labels colliding with existing + * vectors (silent data corruption), and the next `saveMappings()` would + * overwrite the recoverable file. Instead the corrupt sidecar is quarantined + * (renamed aside so it is not clobbered) and a `SidecarCorrupt` error is + * raised so the caller learns string-id operations are unsafe. + */ async loadMappings() { const mp = this.mappingsPath(); if (!mp) return; + const fs = await Promise.resolve().then(() => __importStar(require('fs'))); + if (!fs.existsSync(mp)) + return; // fresh store: no sidecar yet is legitimate + let parsed; try { - const fs = await Promise.resolve().then(() => __importStar(require('fs'))); - if (!fs.existsSync(mp)) - return; - const raw = JSON.parse(fs.readFileSync(mp, 'utf-8')); - this.idToLabel = new Map(Object.entries(raw.idToLabel ?? {}).map(([k, v]) => [k, Number(v)])); - this.labelToId = new Map(Object.entries(raw.labelToId ?? {}).map(([k, v]) => [Number(k), v])); - this.nextLabel = raw.nextLabel ?? this.idToLabel.size + 1; + parsed = JSON.parse(fs.readFileSync(mp, 'utf-8')); } - catch { - // Non-fatal: start with empty mappings. + catch (err) { + const quarantine = `${mp}.corrupt-${Date.now()}`; + try { + fs.renameSync(mp, quarantine); + } + catch { + // if we cannot move it aside, leave it in place — still fail loud + } + throw new errors_1.RvfError(errors_1.RvfErrorCode.SidecarCorrupt, `at ${mp} (quarantined to ${quarantine}): string-id delete()/ingest would ` + + `silently corrupt data — restore a valid sidecar or recreate the store; ` + + `${err instanceof Error ? err.message : String(err)}`); } + this.idToLabel = new Map(Object.entries(parsed.idToLabel ?? {}).map(([k, v]) => [k, Number(v)])); + this.labelToId = new Map(Object.entries(parsed.labelToId ?? {}).map(([k, v]) => [Number(k), v])); + this.nextLabel = parsed.nextLabel ?? this.idToLabel.size + 1; } } exports.NodeBackend = NodeBackend; diff --git a/npm/packages/rvf/dist/backend.js.map b/npm/packages/rvf/dist/backend.js.map index e4e0848ae..8c03416db 100644 --- a/npm/packages/rvf/dist/backend.js.map +++ b/npm/packages/rvf/dist/backend.js.map @@ -1 +1 @@ -{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"backend.js","sourceRoot":"","sources":["../src/backend.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/npm/packages/rvf/dist/errors.d.ts b/npm/packages/rvf/dist/errors.d.ts index 780120627..3b9f0b252 100644 --- a/npm/packages/rvf/dist/errors.d.ts +++ b/npm/packages/rvf/dist/errors.d.ts @@ -39,7 +39,9 @@ export declare enum RvfErrorCode { BackendNotFound = 65280, BackendInitFailed = 65281, StoreClosed = 65282, - InvalidOptions = 65283 + InvalidOptions = 65283, + SidecarWriteFailed = 65286, + SidecarCorrupt = 65287 } /** * Custom error class for all RVF operations. diff --git a/npm/packages/rvf/dist/errors.js b/npm/packages/rvf/dist/errors.js index a9ec959dc..b23345f81 100644 --- a/npm/packages/rvf/dist/errors.js +++ b/npm/packages/rvf/dist/errors.js @@ -51,6 +51,9 @@ var RvfErrorCode; RvfErrorCode[RvfErrorCode["BackendInitFailed"] = 65281] = "BackendInitFailed"; RvfErrorCode[RvfErrorCode["StoreClosed"] = 65282] = "StoreClosed"; RvfErrorCode[RvfErrorCode["InvalidOptions"] = 65283] = "InvalidOptions"; + // (0xff04–0xff05 reserved) + RvfErrorCode[RvfErrorCode["SidecarWriteFailed"] = 65286] = "SidecarWriteFailed"; + RvfErrorCode[RvfErrorCode["SidecarCorrupt"] = 65287] = "SidecarCorrupt"; })(RvfErrorCode || (exports.RvfErrorCode = RvfErrorCode = {})); /** Human-readable labels for each error code. */ const ERROR_MESSAGES = { @@ -90,6 +93,8 @@ const ERROR_MESSAGES = { [RvfErrorCode.BackendInitFailed]: 'Backend initialization failed', [RvfErrorCode.StoreClosed]: 'Store has been closed', [RvfErrorCode.InvalidOptions]: 'Invalid store creation options', + [RvfErrorCode.SidecarWriteFailed]: 'Failed to persist the string-id map sidecar', + [RvfErrorCode.SidecarCorrupt]: 'The string-id map sidecar is missing fields or corrupt', }; /** * Custom error class for all RVF operations. diff --git a/npm/packages/rvf/dist/errors.js.map b/npm/packages/rvf/dist/errors.js.map index 201a75f8e..5e5a26fb8 100644 --- a/npm/packages/rvf/dist/errors.js.map +++ b/npm/packages/rvf/dist/errors.js.map @@ -1 +1 @@ -{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/npm/packages/rvf/package.json b/npm/packages/rvf/package.json index 8fc903635..15341566b 100644 --- a/npm/packages/rvf/package.json +++ b/npm/packages/rvf/package.json @@ -19,6 +19,7 @@ "scripts": { "build": "tsc", "test": "jest", + "smoke:idmap": "node scripts/smoke-idmap-durability.mjs", "bench": "tsx bench/index.ts", "typecheck": "tsc --noEmit" }, diff --git a/npm/packages/rvf/scripts/smoke-idmap-durability.mjs b/npm/packages/rvf/scripts/smoke-idmap-durability.mjs new file mode 100644 index 000000000..a03a0bd73 --- /dev/null +++ b/npm/packages/rvf/scripts/smoke-idmap-durability.mjs @@ -0,0 +1,77 @@ +// Runtime smoke test for #635: the .idmap.json sidecar must be written +// atomically and must fail loud (not degrade to empty maps) on a corrupt load. +// Requires a stub @ruvector/rvf-node resolvable from dist/backend.js (the +// runner sets one up); skips if absent. +// +// Run: node scripts/smoke-idmap-durability.mjs (after `tsc` emits dist/) +import assert from 'node:assert'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { pathToFileURL } from 'node:url'; + +const dist = pathToFileURL(path.resolve('dist/index.js')).href; +const { RvfDatabase, RvfError, RvfErrorCode } = await import(dist); + +let passed = 0; +const ok = (name) => { console.log(` ok - ${name}`); passed++; }; + +let nativeAvailable = true; +try { await import('@ruvector/rvf-node'); } catch { nativeAvailable = false; } +if (!nativeAvailable) { + console.log(' skip - #635 (no @ruvector/rvf-node stub resolvable; run via npm run smoke:idmap)'); + process.exit(0); +} + +const vec = () => new Float32Array([1, 0, 0, 0]); +const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'rvf-idmap-')); +const target = path.join(tmp, 'store.rvf'); +const sidecar = `${target}.idmap.json`; + +// 1. Ingest with string ids -> sidecar written atomically (no leftover .tmp). +{ + const db = await RvfDatabase.create(target, { dimensions: 4 }, 'node'); + await db.ingestBatch([ + { id: 'a', vector: vec() }, + { id: 'b', vector: vec() }, + ]); + await db.close(); + + const sc = JSON.parse(fs.readFileSync(sidecar, 'utf-8')); + assert.strictEqual(sc.nextLabel, 3, 'two ids -> labels 1,2 -> nextLabel 3'); + assert.ok(!fs.existsSync(`${sidecar}.tmp`), 'atomic write leaves no .tmp file'); + ok('#635 ingest persists sidecar atomically (nextLabel=3, no .tmp)'); +} + +// 2. Reopen with a VALID sidecar restores state (nextLabel does NOT reset). +{ + const db = await RvfDatabase.open(target, 'node'); + await db.ingestBatch([{ id: 'c', vector: vec() }]); + await db.close(); + + const sc = JSON.parse(fs.readFileSync(sidecar, 'utf-8')); + assert.strictEqual(sc.nextLabel, 4, 'restored state -> new id gets label 3 -> nextLabel 4 (not reset to 2)'); + assert.deepStrictEqual(Object.keys(sc.idToLabel).sort(), ['a', 'b', 'c']); + ok('#635 reopen restores maps; no label collision on next ingest'); +} + +// 3. A corrupt sidecar fails loud (SidecarCorrupt) and is quarantined, not +// overwritten with empty/colliding state. +{ + fs.writeFileSync(sidecar, '{ this is not valid json ', 'utf-8'); + await assert.rejects( + () => RvfDatabase.open(target, 'node'), + (e) => + e instanceof RvfError && + e.code === RvfErrorCode.SidecarCorrupt && + !/fsync/i.test(e.message), + 'open() on corrupt sidecar should throw SidecarCorrupt', + ); + assert.ok(!fs.existsSync(sidecar), 'corrupt sidecar renamed away (not left to be overwritten)'); + const quarantined = fs.readdirSync(tmp).filter((f) => f.includes('.idmap.json.corrupt-')); + assert.strictEqual(quarantined.length, 1, 'exactly one quarantine file created'); + ok('#635 corrupt sidecar -> SidecarCorrupt + quarantined (no silent empty-map reset)'); +} + +fs.rmSync(tmp, { recursive: true, force: true }); +console.log(`\nAll ${passed} checks passed.`); diff --git a/npm/packages/rvf/src/backend.ts b/npm/packages/rvf/src/backend.ts index af64b1dbe..8e5eafe2d 100644 --- a/npm/packages/rvf/src/backend.ts +++ b/npm/packages/rvf/src/backend.ts @@ -416,43 +416,87 @@ export class NodeBackend implements RvfBackend { return this.storePath ? this.storePath + '.idmap.json' : ''; } - /** Persist the string↔label mapping to a sidecar JSON file. */ + /** + * Persist the string↔label mapping to a sidecar JSON file. + * + * `delete()` resolves string ids through this map and silently filters out + * anything unresolvable, so a lost or torn write turns every ingest since + * the last good save into an undeletable-by-id vector. Persistence is + * therefore NOT best-effort: the write is made atomic (temp file + rename, + * so a crash/ENOSPC mid-write can never leave partial JSON at `mp`) and a + * failure is surfaced rather than swallowed. + */ private async saveMappings(): Promise { const mp = this.mappingsPath(); if (!mp) return; + const fs = await import('fs'); + const data = JSON.stringify({ + idToLabel: Object.fromEntries(this.idToLabel), + labelToId: Object.fromEntries( + Array.from(this.labelToId.entries()).map(([k, v]) => [String(k), v]), + ), + nextLabel: this.nextLabel, + }); + const tmp = `${mp}.tmp`; try { - const fs = await import('fs'); - const data = JSON.stringify({ - idToLabel: Object.fromEntries(this.idToLabel), - labelToId: Object.fromEntries( - Array.from(this.labelToId.entries()).map(([k, v]) => [String(k), v]), - ), - nextLabel: this.nextLabel, - }); - fs.writeFileSync(mp, data, 'utf-8'); - } catch { - // Non-fatal: mapping persistence is best-effort (e.g. read-only FS). + fs.writeFileSync(tmp, data, 'utf-8'); + fs.renameSync(tmp, mp); + } catch (err) { + try { + fs.rmSync(tmp, { force: true }); + } catch { + // best-effort cleanup of the temp file + } + throw new RvfError( + RvfErrorCode.SidecarWriteFailed, + `at ${mp}: ${err instanceof Error ? err.message : String(err)}`, + ); } } - /** Load the string↔label mapping from the sidecar JSON file if it exists. */ + /** + * Load the string↔label mapping from the sidecar JSON file if it exists. + * + * A corrupt sidecar must NOT degrade to empty maps: `nextLabel` would reset + * to 1 and subsequent ingests would assign labels colliding with existing + * vectors (silent data corruption), and the next `saveMappings()` would + * overwrite the recoverable file. Instead the corrupt sidecar is quarantined + * (renamed aside so it is not clobbered) and a `SidecarCorrupt` error is + * raised so the caller learns string-id operations are unsafe. + */ private async loadMappings(): Promise { const mp = this.mappingsPath(); if (!mp) return; + const fs = await import('fs'); + if (!fs.existsSync(mp)) return; // fresh store: no sidecar yet is legitimate + let parsed: { + idToLabel?: Record; + labelToId?: Record; + nextLabel?: number; + }; try { - const fs = await import('fs'); - if (!fs.existsSync(mp)) return; - const raw = JSON.parse(fs.readFileSync(mp, 'utf-8')); - this.idToLabel = new Map(Object.entries(raw.idToLabel ?? {}).map( - ([k, v]) => [k, Number(v)], - )); - this.labelToId = new Map( - Object.entries(raw.labelToId ?? {}).map(([k, v]) => [Number(k), v as string]), + parsed = JSON.parse(fs.readFileSync(mp, 'utf-8')); + } catch (err) { + const quarantine = `${mp}.corrupt-${Date.now()}`; + try { + fs.renameSync(mp, quarantine); + } catch { + // if we cannot move it aside, leave it in place — still fail loud + } + throw new RvfError( + RvfErrorCode.SidecarCorrupt, + `at ${mp} (quarantined to ${quarantine}): string-id delete()/ingest would ` + + `silently corrupt data — restore a valid sidecar or recreate the store; ` + + `${err instanceof Error ? err.message : String(err)}`, ); - this.nextLabel = raw.nextLabel ?? this.idToLabel.size + 1; - } catch { - // Non-fatal: start with empty mappings. } + this.idToLabel = new Map( + Object.entries(parsed.idToLabel ?? {}).map(([k, v]) => [k, Number(v)]), + ); + this.labelToId = new Map( + Object.entries(parsed.labelToId ?? {}).map(([k, v]) => [Number(k), v as string]), + ); + this.nextLabel = parsed.nextLabel ?? this.idToLabel.size + 1; } } diff --git a/npm/packages/rvf/src/errors.ts b/npm/packages/rvf/src/errors.ts index 451d0a507..d51a31f62 100644 --- a/npm/packages/rvf/src/errors.ts +++ b/npm/packages/rvf/src/errors.ts @@ -53,6 +53,9 @@ export enum RvfErrorCode { BackendInitFailed = 0xff01, StoreClosed = 0xff02, InvalidOptions = 0xff03, + // (0xff04–0xff05 reserved) + SidecarWriteFailed = 0xff06, + SidecarCorrupt = 0xff07, } /** Human-readable labels for each error code. */ @@ -93,6 +96,8 @@ const ERROR_MESSAGES: Record = { [RvfErrorCode.BackendInitFailed]: 'Backend initialization failed', [RvfErrorCode.StoreClosed]: 'Store has been closed', [RvfErrorCode.InvalidOptions]: 'Invalid store creation options', + [RvfErrorCode.SidecarWriteFailed]: 'Failed to persist the string-id map sidecar', + [RvfErrorCode.SidecarCorrupt]: 'The string-id map sidecar is missing fields or corrupt', }; /**