orez 0.2.32 → 0.2.34

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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAeH,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAyCpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAuDjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC1E,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAoIvE,wBAAsB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM;;;;;;;;;;;;;;GAmpB1E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAgBH,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAyCpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA0DjD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AAC1E,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AAoIvE,wBAAsB,aAAa,CAAC,SAAS,GAAE,OAAO,CAAC,cAAc,CAAM;;;;;;;;;;;;;;GAuoB1E"}
package/dist/index.js CHANGED
@@ -8,6 +8,7 @@
8
8
  import { spawn, spawnSync } from 'node:child_process';
9
9
  import { randomUUID } from 'node:crypto';
10
10
  import { closeSync, existsSync, mkdirSync, openSync, readFileSync, unlinkSync, writeFileSync, } from 'node:fs';
11
+ import { tmpdir } from 'node:os';
11
12
  import { dirname, resolve } from 'node:path';
12
13
  import { createHttpLogStore, startHttpProxy, } from './admin/http-proxy.js';
13
14
  import { createLogStore } from './admin/log-store.js';
@@ -19,7 +20,7 @@ import { startPgProxy } from './pg-proxy.js';
19
20
  import { createPGliteInstances, createPGliteWorkerInstances, createSinglePGliteInstance, createSinglePGliteWorkerInstance, createPGliteWorker, runMigrations, startPeriodicCheckpoint, } from './pglite-manager.js';
20
21
  import { findPort } from './port.js';
21
22
  import { orezTitle } from './process-title.js';
22
- import { cleanCdcStateOnStartup, hasCdcCorruptionSignature, recoverFromCdcCorruption, } from './recovery.js';
23
+ import { hasCdcCorruptionSignature, hasZeroStateInconsistencySignature, recoverZeroState, } from './recovery.js';
23
24
  import { installChangeTracking } from './replication/change-tracker.js';
24
25
  import { resetReplicationState } from './replication/handler.js';
25
26
  import { applySqliteMode, cleanupShim, formatNativeBootstrapInstructions, hasMissingNativeBinarySignature, inspectNativeSqliteBinary, resolveSqliteMode, resolveSqliteModeConfig, } from './sqlite-mode/index.js';
@@ -354,15 +355,17 @@ export async function startZeroLite(overrides = {}) {
354
355
  const { createReadReplicas } = await import('./pglite-manager.js');
355
356
  instances.postgresReplicas = await createReadReplicas(db, config.readReplicas, config);
356
357
  }
357
- // clean up stale lock files from previous crash (keep replica for fast restart).
358
- // if lock files were present, it means the previous shutdown was unclean (SIGKILL)
359
- // and CDC state may be corrupt clean it along with the replica to avoid
360
- // duplicate watermark errors when zero-cache tries to replay changes.
358
+ // clean up stale lock files from previous crash. if lock files were present,
359
+ // the previous shutdown was unclean and the replica, change DB, and CVR DB can
360
+ // disagree about the same client/version history, so rebuild all zero state.
361
361
  const hadStaleLocks = cleanupStaleLockFiles(config);
362
362
  if (hadStaleLocks) {
363
- log.debug.orez('unclean shutdown detected, cleaning CDC state and replica');
364
- cleanupStaleReplica(config);
365
- await cleanCdcStateOnStartup(instances.cdb);
363
+ log.debug.orez('unclean shutdown detected, resetting zero state');
364
+ await recoverZeroState({
365
+ config,
366
+ instances,
367
+ zeroCacheProcess: null,
368
+ });
366
369
  }
367
370
  // when admin is enabled, zero-cache runs on internal port with http proxy in front
368
371
  let zeroInternalPort = config.zeroPort;
@@ -374,6 +377,7 @@ export async function startZeroLite(overrides = {}) {
374
377
  // start zero-cache
375
378
  let zeroCacheProcess = null;
376
379
  let zeroEnv = {};
380
+ let zeroStopExpected = false;
377
381
  if (!config.skipZeroCache) {
378
382
  // use internal port when http proxy is enabled
379
383
  const zeroConfig = httpLog ? { ...config, zeroPort: zeroInternalPort } : config;
@@ -397,16 +401,18 @@ export async function startZeroLite(overrides = {}) {
397
401
  }
398
402
  catch (err) {
399
403
  const errMsg = err?.message || String(err);
400
- // check for CDC corruption (duplicate key in changeLog)
401
- if (hasCdcCorruptionSignature(errMsg)) {
402
- await recoverFromCdcCorruption({
404
+ // check for persisted zero-cache state mismatches before falling back to
405
+ // binary-mode handling; these require rebuilding the whole local zero domain.
406
+ if (hasCdcCorruptionSignature(errMsg) ||
407
+ hasZeroStateInconsistencySignature(errMsg)) {
408
+ await recoverZeroState({
403
409
  config,
404
410
  instances,
405
411
  zeroCacheProcess,
406
412
  });
407
413
  log.orez('retrying zero-cache startup...');
408
414
  await tryStartZeroCache();
409
- log.orez('CDC corruption auto-recovery successful');
415
+ log.orez('zero-cache state auto-recovery successful');
410
416
  }
411
417
  else if (
412
418
  // native sqlite failed to load at runtime - fallback to wasm
@@ -453,25 +459,31 @@ export async function startZeroLite(overrides = {}) {
453
459
  const child = zeroCacheProcess;
454
460
  if (!isChildProcessRunning(child))
455
461
  return;
462
+ zeroStopExpected = true;
456
463
  try {
457
464
  child.kill('SIGTERM');
458
465
  }
459
466
  catch (err) {
467
+ zeroStopExpected = false;
460
468
  if (err?.code !== 'ESRCH')
461
469
  throw err;
462
470
  return;
463
471
  }
464
472
  const exitedGracefully = await waitForChildProcessExit(child, 5000);
465
- if (exitedGracefully)
473
+ if (exitedGracefully) {
474
+ zeroStopExpected = false;
466
475
  return;
476
+ }
467
477
  log.debug.orez(`zero-cache pid ${child.pid} did not exit after SIGTERM, force killing`);
468
478
  if (child.pid)
469
479
  killProcessTree(child.pid, 'SIGKILL');
470
480
  else
471
481
  child.kill('SIGKILL');
472
482
  await waitForChildProcessExit(child, 1000);
483
+ zeroStopExpected = false;
473
484
  };
474
- // simple restart without any state cleanup
485
+ // explicit process restart for admin use. unexpected crashes use full state
486
+ // reset below because zero-cache's CVR/change/replica state is coupled.
475
487
  const restartZeroCache = async () => {
476
488
  await killZeroCache();
477
489
  // use internal port when http proxy is enabled
@@ -640,70 +652,43 @@ export async function startZeroLite(overrides = {}) {
640
652
  });
641
653
  });
642
654
  }
643
- // auto-recover when zero-cache exits unexpectedly. two failure modes:
644
- // - CDC corruption (recognizable signature) needs a full state reset.
645
- // - any other crash (e.g. a change-streamer statement timeout) orez
646
- // used to do nothing here, leaving the dead child so the proxy returned
647
- // 502 on every /sync until a manual restart. now: restart it, and if
648
- // the crashes keep coming, escalate to one full reset before giving up.
655
+ // auto-recover when zero-cache exits unexpectedly. a crashed cache may leave
656
+ // the replica, change DB, and CVR DB at incompatible versions. rebuild that
657
+ // local zero state together instead of restarting against stale pieces.
649
658
  let shuttingDown = false;
650
659
  const ZERO_CRASH_WINDOW_MS = 5 * 60_000;
651
- const ZERO_CRASH_RESTART_BUDGET = 5;
660
+ const ZERO_CRASH_RESET_BUDGET = 5;
652
661
  let zeroCrashTimes = [];
653
- let zeroFullResetTried = false;
654
662
  const installCrashWatcher = () => {
655
663
  if (!zeroCacheProcess || config.skipZeroCache)
656
664
  return;
657
665
  zeroCacheProcess.on('exit', (code) => {
658
- if (shuttingDown || resetInProgress || code === 0 || code === null)
666
+ if (shuttingDown || resetInProgress || zeroStopExpected || code === null)
659
667
  return;
660
668
  const tail = zeroCacheProcess?.__orezTail;
661
669
  const details = tail?.length ? tail.join('\n') : '';
662
- if (hasCdcCorruptionSignature(details)) {
663
- log.orez('zero-cache crashed with CDC corruption, auto-recovering...');
664
- resetZeroState('full')
665
- .then(() => {
666
- log.orez('CDC auto-recovery successful');
667
- installCrashWatcher();
668
- })
669
- .catch((err) => {
670
- log.orez(`CDC auto-recovery failed: ${err?.message || err}`);
671
- });
672
- return;
673
- }
674
- // non-CDC unexpected crash — restart, bounded by a sliding-window
675
- // budget so a genuinely broken instance can't restart-loop forever.
670
+ // bounded by a sliding-window budget so a genuinely broken instance
671
+ // cannot reset-loop forever.
676
672
  zeroCrashTimes = zeroCrashTimes.filter((t) => Date.now() - t < ZERO_CRASH_WINDOW_MS);
677
- if (zeroCrashTimes.length === 0)
678
- zeroFullResetTried = false;
679
673
  zeroCrashTimes.push(Date.now());
680
- if (zeroCrashTimes.length > ZERO_CRASH_RESTART_BUDGET) {
681
- if (zeroFullResetTried) {
682
- log.orez('zero-cache kept crashing after a full reset — giving up auto-restart');
683
- return;
684
- }
685
- zeroFullResetTried = true;
686
- log.orez('zero-cache crash-looping — escalating to a full state reset');
687
- resetZeroState('full')
688
- .then(() => {
689
- log.orez('zero-cache full-reset recovery successful');
690
- zeroCrashTimes = [];
691
- installCrashWatcher();
692
- })
693
- .catch((err) => {
694
- log.orez(`zero-cache full-reset recovery failed: ${err?.message || err}`);
695
- });
674
+ if (zeroCrashTimes.length > ZERO_CRASH_RESET_BUDGET) {
675
+ log.orez('zero-cache kept crashing after repeated state resets — giving up');
696
676
  return;
697
677
  }
698
- log.orez(`zero-cache exited unexpectedly (code ${code}) — restarting ` +
699
- `(${zeroCrashTimes.length}/${ZERO_CRASH_RESTART_BUDGET})`);
700
- restartZeroCache()
678
+ const reason = hasCdcCorruptionSignature(details)
679
+ ? 'CDC corruption'
680
+ : hasZeroStateInconsistencySignature(details)
681
+ ? 'state inconsistency'
682
+ : 'unexpected exit';
683
+ log.orez(`zero-cache ${reason} (code ${code}) — resetting zero state ` +
684
+ `(${zeroCrashTimes.length}/${ZERO_CRASH_RESET_BUDGET})`);
685
+ resetZeroState('full')
701
686
  .then(() => {
702
- log.orez('zero-cache restart successful');
687
+ log.orez('zero-cache full-reset recovery successful');
703
688
  installCrashWatcher();
704
689
  })
705
690
  .catch((err) => {
706
- log.orez(`zero-cache restart failed: ${err?.message || err}`);
691
+ log.orez(`zero-cache full-reset recovery failed: ${err?.message || err}`);
707
692
  });
708
693
  });
709
694
  };
@@ -792,6 +777,30 @@ function ensureZeroReplicaFile(replicaFile) {
792
777
  mkdirSync(dirname(replicaFile), { recursive: true });
793
778
  closeSync(openSync(replicaFile, 'a'));
794
779
  }
780
+ function cleanupZeroCachePreload(preloadPath) {
781
+ if (!preloadPath)
782
+ return;
783
+ try {
784
+ unlinkSync(preloadPath);
785
+ }
786
+ catch { }
787
+ }
788
+ function writeZeroCachePreload(parentPid, zeroTitle) {
789
+ const preloadDir = resolve(tmpdir(), 'orez-zero-cache-preload');
790
+ mkdirSync(preloadDir, { recursive: true });
791
+ const preloadPath = resolve(preloadDir, `parent-${parentPid}.cjs`);
792
+ writeFileSync(preloadPath, `const fs = require('node:fs');\n` +
793
+ `process.title = ${JSON.stringify(zeroTitle)};\n` +
794
+ `const __orezPid = ${parentPid};\n` +
795
+ `const __orezExit = () => {\n` +
796
+ ` try { fs.unlinkSync(__filename); } catch {}\n` +
797
+ ` process.exit(0);\n` +
798
+ `};\n` +
799
+ `setInterval(() => {\n` +
800
+ ` try { process.kill(__orezPid, 0); } catch { __orezExit(); }\n` +
801
+ `}, 1000).unref();\n`);
802
+ return preloadPath;
803
+ }
795
804
  async function seedIfNeeded(db, config) {
796
805
  // check if we already have data
797
806
  try {
@@ -894,13 +903,8 @@ async function startZeroCache(config, logStore, sqliteMode = resolveSqliteMode(c
894
903
  // at 100% CPU indefinitely. every forked zero-cache worker inherits
895
904
  // NODE_OPTIONS, so the --require below runs in each one; they independently
896
905
  // poll the captured orez pid and exit when it disappears.
897
- const preloadPath = resolve(config.dataDir, '.orez-zero-title.cjs');
898
906
  const zeroTitle = orezTitle('orez [zero]');
899
- writeFileSync(preloadPath, `process.title = ${JSON.stringify(zeroTitle)};\n` +
900
- `const __orezPid = ${process.pid};\n` +
901
- `setInterval(() => {\n` +
902
- ` try { process.kill(__orezPid, 0); } catch { process.exit(0); }\n` +
903
- `}, 1000).unref();\n`);
907
+ const preloadPath = writeZeroCachePreload(process.pid, zeroTitle);
904
908
  const nodeOptions = [
905
909
  sqliteMode === 'wasm' ? '--max-old-space-size=16384' : '',
906
910
  `--require ${preloadPath}`,
@@ -918,6 +922,7 @@ async function startZeroCache(config, logStore, sqliteMode = resolveSqliteMode(c
918
922
  // in the --require preload above.
919
923
  stdio: ['pipe', 'pipe', 'pipe'],
920
924
  });
925
+ child.__orezPreloadPath = preloadPath;
921
926
  child.__orezTail = [];
922
927
  const pushTail = (line) => {
923
928
  const tail = child.__orezTail;
@@ -985,9 +990,10 @@ async function startZeroCache(config, logStore, sqliteMode = resolveSqliteMode(c
985
990
  logStore?.push('zero', level, line);
986
991
  }
987
992
  });
988
- child.on('exit', (code) => {
993
+ child.on('exit', (code, signal) => {
994
+ cleanupZeroCachePreload(child.__orezPreloadPath);
995
+ pushTail(code === null ? `exit: signal ${signal}` : `exit: code ${code}`);
989
996
  if (code !== 0 && code !== null) {
990
- pushTail(`exit: code ${code}`);
991
997
  log.zero(`exited with code ${code}`);
992
998
  logStore?.push('zero', 'error', `exited with code ${code}`);
993
999
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -23,16 +23,14 @@ export interface RecoveryContext {
23
23
  */
24
24
  export declare function hasCdcCorruptionSignature(details: string): boolean;
25
25
  /**
26
- * recover from CDC corruption by resetting CVR/CDB state.
27
- * this is called when zero-cache fails to start due to duplicate changeLog entries.
26
+ * detect zero-cache state mismatches between the replica, CVR DB, and change DB.
27
+ * these are not application-level Zero errors; they mean orez's local dev cache
28
+ * state must be rebuilt as one consistency domain.
28
29
  */
29
- export declare function recoverFromCdcCorruption(ctx: RecoveryContext): Promise<void>;
30
+ export declare function hasZeroStateInconsistencySignature(details: string): boolean;
30
31
  /**
31
- * proactively clean CDC state on startup to prevent duplicate key errors.
32
- * this handles cases where orez was killed (SIGKILL) mid-transaction,
33
- * leaving stale watermarks in the changeLog table.
34
- *
35
- * in dev mode, it's safe to drop all CDC schemas - zero-cache will recreate them.
32
+ * recover from zero-cache state corruption by resetting the CVR DB, change DB,
33
+ * local replica, and upstream zero bookkeeping together.
36
34
  */
37
- export declare function cleanCdcStateOnStartup(cdb: PGlite): Promise<void>;
35
+ export declare function recoverZeroState(ctx: RecoveryContext): Promise<void>;
38
36
  //# sourceMappingURL=recovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAWlE;AAED;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyElF;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBvE"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IACvD,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,EAAE,MAAM,CAAA;QACX,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,gBAAgB,EAAE,YAAY,GAAG,IAAI,CAAA;CACtC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAWlE;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAoB3E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE1E"}
package/dist/recovery.js CHANGED
@@ -26,12 +26,36 @@ export function hasCdcCorruptionSignature(details) {
26
26
  return false;
27
27
  }
28
28
  /**
29
- * recover from CDC corruption by resetting CVR/CDB state.
30
- * this is called when zero-cache fails to start due to duplicate changeLog entries.
29
+ * detect zero-cache state mismatches between the replica, CVR DB, and change DB.
30
+ * these are not application-level Zero errors; they mean orez's local dev cache
31
+ * state must be rebuilt as one consistency domain.
31
32
  */
32
- export async function recoverFromCdcCorruption(ctx) {
33
+ export function hasZeroStateInconsistencySignature(details) {
34
+ if (!details)
35
+ return false;
36
+ if (details.includes('RowsVersionBehindError'))
37
+ return true;
38
+ if (details.includes('max attempts exceeded waiting for CVR'))
39
+ return true;
40
+ if (details.includes('replica db must be in wal2 mode'))
41
+ return true;
42
+ if (details.includes('Unable to read watermark from replica') &&
43
+ details.includes('_zero.replicationState')) {
44
+ return true;
45
+ }
46
+ if (details.includes('SqliteError: unable to open database file') ||
47
+ details.includes('SQLITE_CANTOPEN')) {
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ /**
53
+ * recover from zero-cache state corruption by resetting the CVR DB, change DB,
54
+ * local replica, and upstream zero bookkeeping together.
55
+ */
56
+ export async function recoverZeroState(ctx) {
33
57
  const { config, instances, zeroCacheProcess } = ctx;
34
- log.orez('detected CDC state corruption, auto-recovering...');
58
+ log.orez('detected zero-cache state corruption, auto-recovering...');
35
59
  // kill the failed zero-cache process
36
60
  if (isChildProcessRunning(zeroCacheProcess)) {
37
61
  if (zeroCacheProcess.pid)
@@ -95,31 +119,6 @@ export async function recoverFromCdcCorruption(ctx) {
95
119
  for (const { schemaname } of shardSchemas.rows) {
96
120
  await db.exec(`DROP SCHEMA IF EXISTS "${schemaname.replace(/"/g, '""')}" CASCADE`);
97
121
  }
98
- log.orez('CDC corruption recovery complete');
99
- }
100
- /**
101
- * proactively clean CDC state on startup to prevent duplicate key errors.
102
- * this handles cases where orez was killed (SIGKILL) mid-transaction,
103
- * leaving stale watermarks in the changeLog table.
104
- *
105
- * in dev mode, it's safe to drop all CDC schemas - zero-cache will recreate them.
106
- */
107
- export async function cleanCdcStateOnStartup(cdb) {
108
- try {
109
- // find all CDC schemas (e.g. chat_0/cdc, startchat_0/cdc)
110
- const result = await cdb.query(`SELECT nspname FROM pg_namespace WHERE nspname LIKE '%/cdc'`);
111
- if (result.rows.length === 0) {
112
- return; // no CDC schemas to clean
113
- }
114
- for (const { nspname } of result.rows) {
115
- const quoted = '"' + nspname.replace(/"/g, '""') + '"';
116
- await cdb.exec(`DROP SCHEMA IF EXISTS ${quoted} CASCADE`);
117
- }
118
- log.debug.orez(`cleaned ${result.rows.length} CDC schema(s) on startup`);
119
- }
120
- catch (err) {
121
- // non-fatal - zero-cache might still work
122
- log.debug.orez(`CDC cleanup warning: ${err?.message || err}`);
123
- }
122
+ log.orez('zero-cache state recovery complete');
124
123
  }
125
124
  //# sourceMappingURL=recovery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"recovery.js","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orez",
3
- "version": "0.2.32",
3
+ "version": "0.2.34",
4
4
  "description": "PGlite-powered zero-sync development backend. No Docker required.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -87,7 +87,7 @@
87
87
  "@electric-sql/pglite": "0.4.1",
88
88
  "@electric-sql/pglite-tools": "^0.3.1",
89
89
  "@pgsql/traverse": "17.2.6",
90
- "bedrock-sqlite": "0.2.31",
90
+ "bedrock-sqlite": "0.2.34",
91
91
  "citty": "^0.2.0",
92
92
  "pg-gateway": "0.3.0-beta.4",
93
93
  "pgsql-parser": "^17.9.11",