spindb 0.68.0 → 0.68.3

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.
@@ -1,3 +1,3 @@
1
1
  // Auto-generated — do not edit manually
2
- export const VERSION = '0.68.0';
2
+ export const VERSION = '0.68.3';
3
3
  //# sourceMappingURL=version.js.map
@@ -18,9 +18,12 @@
18
18
  * and the file-based engine path (SQLite/DuckDB copy the backing file and
19
19
  * register a new entry rather than copying a server data dir).
20
20
  */
21
- import { existsSync } from 'fs';
22
- import { mkdir, rm } from 'fs/promises';
23
- import { join, extname, dirname } from 'path';
21
+ import { existsSync, statSync } from 'fs';
22
+ import { copyFile, mkdir, rename, rm } from 'fs/promises';
23
+ import { execFile } from 'child_process';
24
+ import { promisify } from 'util';
25
+ import { randomBytes } from 'crypto';
26
+ import { basename, join, extname, dirname } from 'path';
24
27
  import { paths } from '../config/paths.js';
25
28
  import { containerManager, assertDataDirCopyable } from './container-manager.js';
26
29
  import { processManager } from './process-manager.js';
@@ -31,6 +34,85 @@ import { getEngine } from '../engines/index.js';
31
34
  import { sqliteRegistry } from '../engines/sqlite/registry.js';
32
35
  import { duckdbRegistry } from '../engines/duckdb/registry.js';
33
36
  import { Engine, isFileBasedEngine, isRemoteContainer } from '../types/index.js';
37
+ const execFileAsync = promisify(execFile);
38
+ /**
39
+ * Write-ahead-log siblings of a file-based database's backing file. SQLite in
40
+ * WAL mode keeps un-checkpointed writes in `<file>-wal` (with `<file>-shm` as
41
+ * the shared-memory index); DuckDB keeps them in `<file>.wal`.
42
+ */
43
+ function walSiblings(engine, filePath) {
44
+ return engine === Engine.SQLite
45
+ ? [`${filePath}-wal`, `${filePath}-shm`]
46
+ : [`${filePath}.wal`];
47
+ }
48
+ /** Bytes in a database's write-ahead log, or null when it is absent or empty. */
49
+ function walSize(walPath) {
50
+ try {
51
+ const { size } = statSync(walPath);
52
+ return size > 0 ? size : null;
53
+ }
54
+ catch {
55
+ return null;
56
+ }
57
+ }
58
+ /** Does this database have un-checkpointed writes sitting outside its main file? */
59
+ function hasPendingWal(engine, filePath) {
60
+ const wal = engine === Engine.SQLite ? `${filePath}-wal` : `${filePath}.wal`;
61
+ return walSize(wal) !== null;
62
+ }
63
+ /**
64
+ * Does this error mean "another process has the file open"?
65
+ *
66
+ * Windows locks an open database file exclusively, so `fs.copyFile` on a DuckDB
67
+ * file a writer still holds fails with EBUSY. POSIX has no such restriction,
68
+ * which is why the same branch succeeds on macOS and Linux. EPERM/EACCES are
69
+ * only read as a lock ON WINDOWS: on POSIX they mean a genuine permission
70
+ * problem and must keep surfacing as one.
71
+ */
72
+ export function isFileLockedError(error) {
73
+ const code = error?.code;
74
+ if (code === 'EBUSY')
75
+ return true;
76
+ if (process.platform === 'win32' && (code === 'EPERM' || code === 'EACCES')) {
77
+ return true;
78
+ }
79
+ const message = error instanceof Error ? error.message : String(error);
80
+ return /\bEBUSY\b|resource busy or locked|being used by another process/i.test(message);
81
+ }
82
+ function isMissingFileError(error) {
83
+ return error?.code === 'ENOENT';
84
+ }
85
+ /**
86
+ * The error a user can act on when the OS refuses to copy a database file
87
+ * because a writer still holds it.
88
+ */
89
+ function lockedSourceError(sourceName, sourceFile) {
90
+ const platformNote = process.platform === 'win32'
91
+ ? ' Windows locks an open database file exclusively, so it cannot be copied while a writer is connected (macOS and Linux allow it).'
92
+ : '';
93
+ return new Error(`Cannot branch "${sourceName}": another process has "${basename(sourceFile)}" open, so its database file could not be copied.${platformNote} Close every connection to "${sourceName}" - or run CHECKPOINT in the session that holds it - then run the branch again.`);
94
+ }
95
+ /**
96
+ * A copy the OS refuses because a writer holds the file is retried a few times
97
+ * before it is reported. The point is NOT to outwait a real connection (a
98
+ * connected app holds its file for its whole session, and no bounded wait wins
99
+ * that race) - it is to absorb the momentary holds a virus scanner or an
100
+ * indexer takes on a file that was just written, which are the common spurious
101
+ * cause on Windows. Three quick attempts cost half a second on the way to a
102
+ * genuine failure.
103
+ */
104
+ const LOCKED_COPY_ATTEMPTS = 3;
105
+ const LOCKED_COPY_RETRY_MS = 300;
106
+ /**
107
+ * How many times a DuckDB file+WAL pair is re-taken when the holder checkpoints
108
+ * midway through. The window is milliseconds wide and a second pass normally
109
+ * finds nothing outstanding at all, so a small budget converts the race into a
110
+ * clean copy instead of a failure.
111
+ */
112
+ const WAL_PAIR_ATTEMPTS = 3;
113
+ function delay(ms) {
114
+ return new Promise((resolve) => setTimeout(resolve, ms));
115
+ }
34
116
  class BranchManager {
35
117
  /**
36
118
  * Create a branch of `source` named `name`.
@@ -148,6 +230,160 @@ class BranchManager {
148
230
  warning,
149
231
  };
150
232
  }
233
+ /**
234
+ * Copy a file-based database's backing file, WRITE-AHEAD LOG INCLUDED.
235
+ *
236
+ * A bare file clone is not a copy of the DATABASE whenever a writer has the
237
+ * file open. SQLite in WAL mode parks every un-checkpointed write in a `-wal`
238
+ * sibling and DuckDB parks them in a `.wal` sibling, so cloning the main file
239
+ * alone produces a database that is valid, opens cleanly, answers queries -
240
+ * and is missing everything written since the last checkpoint. For a table
241
+ * created moments ago that is the whole table: a two-row SQLite table lived
242
+ * entirely in the WAL, the clone's main file was a bare 4KB header, and the
243
+ * branch answered "no such table". That is C-142, and it is silent: nothing
244
+ * fails, the branch just has none of the parent's data.
245
+ *
246
+ * So the clone is only used when there is nothing outstanding. With a
247
+ * non-empty WAL:
248
+ *
249
+ * SQLite - `.backup`, the online backup API. It reads through the WAL and
250
+ * produces a consistent snapshot while the writer keeps serving, so it is
251
+ * correct even against a live database (the same reason the cloud's SQLite
252
+ * backup uses it instead of `cp`).
253
+ *
254
+ * DuckDB - CHECKPOINT the source to fold its WAL into the file, then clone.
255
+ * DuckDB takes an exclusive lock on an open database, so this fails when
256
+ * another process holds it (a proxy serving the file). It is not fatal:
257
+ * the `.wal` sibling is copied alongside the main file so the data still
258
+ * travels, and the caller gets a warning saying the copy was taken from a
259
+ * database it could not quiesce. Two hazards live in that fallback and are
260
+ * handled below rather than hoped away:
261
+ *
262
+ * - The copy itself can be REFUSED. On Windows an open DuckDB file is
263
+ * locked exclusively, so `fs.copyFile` fails with EBUSY where POSIX
264
+ * would have copied it happily. There is no correct way to invent the
265
+ * missing bytes, so this fails loudly with an actionable message and
266
+ * leaves nothing behind - never a half-made or empty branch.
267
+ *
268
+ * - The holder can CHECKPOINT between the clone and the WAL copy. The
269
+ * writes that moved are then in neither half of what we took: not in
270
+ * the clone (taken before) and not in the WAL (truncated after). The
271
+ * WAL is therefore measured on both sides of the copy, and a WAL that
272
+ * shrank or vanished means a checkpoint ran, so the pair is thrown
273
+ * away and re-taken. A WAL that only GREW is safe: DuckDB writes the
274
+ * main file at checkpoint time only, so nothing moved behind the
275
+ * clone, and a prefix of an append-only WAL replays correctly.
276
+ */
277
+ async copyDatabaseFile(opts) {
278
+ const { engine, sourceName, sourceFile, targetFile } = opts;
279
+ if (!hasPendingWal(engine, sourceFile)) {
280
+ return { method: await this.cloneOrExplainLock(opts) };
281
+ }
282
+ if (engine === Engine.SQLite) {
283
+ const sqlite3 = await getEngine(Engine.SQLite).getSqlite3Path();
284
+ if (!sqlite3) {
285
+ throw new Error('Cannot branch this SQLite database: it has un-checkpointed WAL data and no sqlite3 binary is available to copy it safely. Run "spindb engines download sqlite" and try again.');
286
+ }
287
+ // `.backup` is a dot-command, so its argument is parsed by the sqlite3
288
+ // shell, not by us: a path containing a quote cannot be expressed. Write
289
+ // to a generated, quote-free name relative to the target directory (passed
290
+ // as cwd) and rename into place - which also means a failed backup never
291
+ // leaves a half-written file at the target path.
292
+ const targetDir = dirname(targetFile);
293
+ const scratch = `.spindb-branch-${randomBytes(6).toString('hex')}.tmp`;
294
+ try {
295
+ await execFileAsync(sqlite3, [sourceFile, `.backup '${scratch}'`], {
296
+ cwd: targetDir,
297
+ });
298
+ await rename(join(targetDir, scratch), targetFile);
299
+ }
300
+ catch (error) {
301
+ await rm(join(targetDir, scratch), { force: true }).catch(() => { });
302
+ throw error;
303
+ }
304
+ return { method: 'copy' };
305
+ }
306
+ const duckdb = await getEngine(Engine.DuckDB).getDuckDBPath();
307
+ const walPath = `${sourceFile}.wal`;
308
+ const targetWal = `${targetFile}.wal`;
309
+ for (let attempt = 1; attempt <= WAL_PAIR_ATTEMPTS; attempt++) {
310
+ if (duckdb) {
311
+ try {
312
+ await execFileAsync(duckdb, [sourceFile, '-c', 'CHECKPOINT;']);
313
+ }
314
+ catch (error) {
315
+ logDebug(`CHECKPOINT before branching ${sourceFile} failed: ${error}`);
316
+ }
317
+ }
318
+ // Measured AFTER the checkpoint attempt: nothing outstanding means the
319
+ // main file is complete on its own, whether our CHECKPOINT landed or the
320
+ // holder's did.
321
+ const walBefore = walSize(walPath);
322
+ if (walBefore === null) {
323
+ return { method: await this.cloneOrExplainLock(opts) };
324
+ }
325
+ const method = await this.cloneOrExplainLock(opts);
326
+ let walCopied = true;
327
+ try {
328
+ await copyFile(walPath, targetWal);
329
+ }
330
+ catch (error) {
331
+ if (!isMissingFileError(error)) {
332
+ await this.discardPartialCopy(engine, targetFile);
333
+ if (isFileLockedError(error)) {
334
+ throw lockedSourceError(sourceName, walPath);
335
+ }
336
+ throw error;
337
+ }
338
+ // The WAL vanished mid-copy, which only happens when a checkpoint ran.
339
+ walCopied = false;
340
+ }
341
+ const walAfter = walSize(walPath);
342
+ if (walCopied && walAfter !== null && walAfter >= walBefore) {
343
+ return {
344
+ method,
345
+ warning: `Source "${basename(sourceFile)}" could not be checkpointed before branching (it is open elsewhere); its write-ahead log was copied alongside the database.`,
346
+ };
347
+ }
348
+ // A checkpoint ran under us, so the file and the WAL we just took may not
349
+ // describe the same state. Throw the pair away and take it again.
350
+ await this.discardPartialCopy(engine, targetFile);
351
+ logDebug(`Source "${sourceFile}" checkpointed while it was being branched; retaking the copy (attempt ${attempt} of ${WAL_PAIR_ATTEMPTS}).`);
352
+ }
353
+ throw new Error(`Cannot branch "${sourceName}": "${basename(sourceFile)}" kept checkpointing while it was being copied, so no consistent snapshot could be taken. Retry, or close the connections writing to it first.`);
354
+ }
355
+ /** Remove a copy we are abandoning, WAL siblings included. */
356
+ async discardPartialCopy(engine, targetFile) {
357
+ for (const stale of [targetFile, ...walSiblings(engine, targetFile)]) {
358
+ await rm(stale, { recursive: true, force: true }).catch(() => { });
359
+ }
360
+ }
361
+ /**
362
+ * Clone a database file, turning "the OS will not let me copy this because a
363
+ * writer holds it" into an error the user can act on. Retries a few times
364
+ * first (see LOCKED_COPY_ATTEMPTS) and never leaves a partial target behind,
365
+ * on the failing path or between attempts.
366
+ */
367
+ async cloneOrExplainLock(opts) {
368
+ const { sourceName, sourceFile, targetFile } = opts;
369
+ let lastError;
370
+ for (let attempt = 1; attempt <= LOCKED_COPY_ATTEMPTS; attempt++) {
371
+ try {
372
+ return (await cloneDirectory(sourceFile, targetFile)).method;
373
+ }
374
+ catch (error) {
375
+ lastError = error;
376
+ await rm(targetFile, { recursive: true, force: true }).catch(() => { });
377
+ if (!isFileLockedError(error) || attempt === LOCKED_COPY_ATTEMPTS)
378
+ break;
379
+ await delay(LOCKED_COPY_RETRY_MS);
380
+ }
381
+ }
382
+ if (isFileLockedError(lastError)) {
383
+ throw lockedSourceError(sourceName, sourceFile);
384
+ }
385
+ throw lastError;
386
+ }
151
387
  async createFileBasedBranch(opts) {
152
388
  const { source, name, engine, gitBranch, path } = opts;
153
389
  const sourceEntry = await this.fileRegistryGet(engine, source);
@@ -173,8 +409,15 @@ class BranchManager {
173
409
  }
174
410
  await mkdir(targetDir, { recursive: true });
175
411
  let method;
412
+ let warning;
176
413
  try {
177
- method = (await cloneDirectory(sourceEntry.filePath, targetFile)).method;
414
+ ;
415
+ ({ method, warning } = await this.copyDatabaseFile({
416
+ engine,
417
+ sourceName: source,
418
+ sourceFile: sourceEntry.filePath,
419
+ targetFile,
420
+ }));
178
421
  const now = new Date().toISOString();
179
422
  await this.addFileEntry(engine, {
180
423
  name,
@@ -192,7 +435,9 @@ class BranchManager {
192
435
  // we wrote — never the directory. The default container dir is dedicated
193
436
  // to this branch, so it's safe to remove whole.
194
437
  if (path) {
195
- await rm(targetFile, { force: true }).catch(() => { });
438
+ for (const stale of [targetFile, ...walSiblings(engine, targetFile)]) {
439
+ await rm(stale, { force: true }).catch(() => { });
440
+ }
196
441
  }
197
442
  else {
198
443
  await rm(targetDir, { recursive: true, force: true }).catch(() => { });
@@ -204,7 +449,7 @@ class BranchManager {
204
449
  throw new Error('Failed to read branched container config');
205
450
  }
206
451
  const connectionString = getEngine(engine).getConnectionString(config);
207
- return { config, method, started: true, connectionString };
452
+ return { config, method, started: true, connectionString, warning };
208
453
  }
209
454
  /**
210
455
  * Build the branch lineage forest. Every container is a node; branches nest
@@ -393,8 +638,42 @@ class BranchManager {
393
638
  if (!existsSync(parentEntry.filePath)) {
394
639
  throw new Error(`Parent database file not found: ${parentEntry.filePath}`);
395
640
  }
396
- await rm(branchEntry.filePath, { force: true }).catch(() => { });
397
- const { method } = await cloneDirectory(parentEntry.filePath, branchEntry.filePath);
641
+ // Take the replacement copy FIRST, into a scratch file beside the branch.
642
+ // A reset that cannot copy the parent (it is locked by a writer on Windows,
643
+ // or it keeps checkpointing) must leave the branch exactly as it was - the
644
+ // old order dropped the branch's file before the copy, so a failure left it
645
+ // with no data at all.
646
+ const scratchFile = `${branchEntry.filePath}.spindb-reset-${randomBytes(6).toString('hex')}`;
647
+ let method;
648
+ let warning;
649
+ try {
650
+ ;
651
+ ({ method, warning } = await this.copyDatabaseFile({
652
+ engine,
653
+ sourceName: parentConfig.name,
654
+ sourceFile: parentEntry.filePath,
655
+ targetFile: scratchFile,
656
+ }));
657
+ }
658
+ catch (error) {
659
+ await this.discardPartialCopy(engine, scratchFile);
660
+ throw error;
661
+ }
662
+ // Drop the branch's WAL siblings along with its file. A `-wal`/`.wal` left
663
+ // beside the fresh copy is replayed on the next open, folding the branch's
664
+ // OWN discarded writes back over the parent's data (C-142).
665
+ for (const stale of [
666
+ branchEntry.filePath,
667
+ ...walSiblings(engine, branchEntry.filePath),
668
+ ]) {
669
+ await rm(stale, { force: true }).catch(() => { });
670
+ }
671
+ await rename(scratchFile, branchEntry.filePath);
672
+ for (const sibling of walSiblings(engine, scratchFile)) {
673
+ if (!existsSync(sibling))
674
+ continue;
675
+ await rename(sibling, `${branchEntry.filePath}${sibling.slice(scratchFile.length)}`);
676
+ }
398
677
  const now = new Date().toISOString();
399
678
  await this.updateFileEntry(engine, branchConfig.name, {
400
679
  branchedAt: now,
@@ -407,7 +686,7 @@ class BranchManager {
407
686
  throw new Error('Failed to read reset container config');
408
687
  }
409
688
  const connectionString = getEngine(engine).getConnectionString(config);
410
- return { config, method, started: true, connectionString };
689
+ return { config, method, started: true, connectionString, warning };
411
690
  }
412
691
  /** Rename a branch and repoint any children's `branchParent` to the new name. */
413
692
  async renameBranch(oldName, newName) {
@@ -1 +1 @@
1
- {"version":3,"file":"branch-manager.js","sourceRoot":"","sources":["../../core/branch-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"branch-manager.js","sourceRoot":"","sources":["../../core/branch-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spindb",
3
- "version": "0.68.0",
3
+ "version": "0.68.3",
4
4
  "author": "Bob Bass <bob@bbass.co>",
5
5
  "license": "PolyForm-Noncommercial-1.0.0",
6
6
  "description": "Zero-config Docker-free local database containers. Create, backup, and clone a variety of popular databases.",