orez 0.4.29 → 0.4.31

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.
Files changed (49) hide show
  1. package/README.md +2 -0
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +8 -0
  5. package/dist/cli.js.map +1 -1
  6. package/dist/config.d.ts +4 -0
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +5 -3
  9. package/dist/config.js.map +1 -1
  10. package/dist/fk-cascade.d.ts +102 -0
  11. package/dist/fk-cascade.d.ts.map +1 -0
  12. package/dist/fk-cascade.js +233 -0
  13. package/dist/fk-cascade.js.map +1 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +101 -49
  16. package/dist/index.js.map +1 -1
  17. package/dist/pg-proxy-do-backend.d.ts +1 -0
  18. package/dist/pg-proxy-do-backend.d.ts.map +1 -1
  19. package/dist/pg-proxy-do-backend.js +114 -0
  20. package/dist/pg-proxy-do-backend.js.map +1 -1
  21. package/dist/pglite-manager.d.ts +12 -9
  22. package/dist/pglite-manager.d.ts.map +1 -1
  23. package/dist/pglite-manager.js +61 -31
  24. package/dist/pglite-manager.js.map +1 -1
  25. package/dist/recovery.d.ts +10 -12
  26. package/dist/recovery.d.ts.map +1 -1
  27. package/dist/recovery.js +24 -13
  28. package/dist/recovery.js.map +1 -1
  29. package/dist/replication/change-tracker.d.ts.map +1 -1
  30. package/dist/replication/change-tracker.js +36 -5
  31. package/dist/replication/change-tracker.js.map +1 -1
  32. package/dist/replication/handler.d.ts.map +1 -1
  33. package/dist/replication/handler.js +20 -17
  34. package/dist/replication/handler.js.map +1 -1
  35. package/dist/worker/cf-patches.d.ts +4 -2
  36. package/dist/worker/cf-patches.d.ts.map +1 -1
  37. package/dist/worker/cf-patches.js +15 -2
  38. package/dist/worker/cf-patches.js.map +1 -1
  39. package/dist/worker/shims/postgres.d.ts.map +1 -1
  40. package/dist/worker/shims/postgres.js +112 -0
  41. package/dist/worker/shims/postgres.js.map +1 -1
  42. package/dist/worker/zero-cache-embed.d.ts.map +1 -1
  43. package/dist/worker/zero-cache-embed.js +4 -0
  44. package/dist/worker/zero-cache-embed.js.map +1 -1
  45. package/dist/zero-changelog-cleanup-patch.d.ts +18 -0
  46. package/dist/zero-changelog-cleanup-patch.d.ts.map +1 -0
  47. package/dist/zero-changelog-cleanup-patch.js +63 -0
  48. package/dist/zero-changelog-cleanup-patch.js.map +1 -0
  49. package/package.json +2 -2
@@ -59,15 +59,18 @@ export declare function runMigrations(db: PGlite, config: ZeroLiteConfig): Promi
59
59
  */
60
60
  export declare function startPeriodicCheckpoint(instances: PGliteInstances, intervalMs?: number): () => void;
61
61
  /**
62
- * orez's own change-tracking tables (`_orez._zero_changes` and the streamed-batch
63
- * mapping) are insert-then-purge churn: every write appends a change row, and
64
- * `confirmStreamedBatches` deletes them once the consumer durably commits. PGlite
65
- * runs with no effective autovacuum, so those deletes leave dead tuples that
66
- * accumulate without bound — `_orez._zero_changes` was measured at 86MB for a few
67
- * thousand live rows. Once the table is bloated, zero-cache's change-streamer scan
68
- * blows past its 25s statement timeout and crash-loops into a full state reset, so
69
- * Zero clients get the initial snapshot but no live updates (the classic "data
70
- * loads once and never refreshes again" symptom).
62
+ * Reclaim PGlite dead tuples from the two hot insert/delete buffers:
63
+ * orez's upstream logical-replication queue and zero-cache's own cdc changeLog.
64
+ */
65
+ export declare function vacuumPGliteChurnTables(instances: PGliteInstances): Promise<void>;
66
+ /**
67
+ * orez's change queues are insert-then-purge churn: every write appends a change
68
+ * row, and consumers delete rows once durably committed. PGlite runs with no
69
+ * effective autovacuum, so those deletes leave dead tuples that accumulate without
70
+ * bound. Once the tables are bloated, zero-cache's change-streamer scan blows past
71
+ * its statement timeout and crash-loops, so Zero clients get the initial snapshot
72
+ * but no live updates (the classic "data loads once and never refreshes again"
73
+ * symptom).
71
74
  *
72
75
  * VACUUM the churn tables periodically to reclaim the dead tuples. We use
73
76
  * `VACUUM FULL`, not plain VACUUM: PGlite's lazy (non-FULL) VACUUM wedges its
@@ -1 +1 @@
1
- {"version":3,"file":"pglite-manager.d.ts","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAe7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA+CjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAgLD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CA8C1B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAQnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsCnB;AAED,wEAAwE;AACxE,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAkEvF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAC1B,UAAU,SAAgB,GACzB,MAAM,IAAI,CAcZ;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,eAAe,EAC1B,UAAU,SAAiB,GAC1B,MAAM,IAAI,CAwBZ"}
1
+ {"version":3,"file":"pglite-manager.d.ts","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAe7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AA+CjD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,iEAAiE;IACjE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAC3B;AAgLD;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAW1B;AAED;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CA8C1B;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,eAAe,CAAC,CAqC1B;AAED,0FAA0F;AAC1F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAQnF;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,cAAc,GACrB,OAAO,CAAC,MAAM,EAAE,CAAC,CAsCnB;AAED,wEAAwE;AACxE,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAkEvF;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAC1B,UAAU,SAAgB,GACzB,MAAM,IAAI,CAcZ;AAgDD;;;GAGG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvF;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,eAAe,EAC1B,UAAU,SAAY,GACrB,MAAM,IAAI,CASZ"}
@@ -432,16 +432,66 @@ export function startPeriodicCheckpoint(instances, intervalMs = 5 * 60 * 1000) {
432
432
  checkpoint();
433
433
  return () => clearInterval(timer);
434
434
  }
435
+ const UPSTREAM_CHURN_TABLES = ['_orez._zero_changes', '_orez._zero_streamed_batches'];
436
+ function quoteIdent(name) {
437
+ return '"' + name.replace(/"/g, '""') + '"';
438
+ }
439
+ async function zeroChangeLogTables(db) {
440
+ try {
441
+ const result = await db.query(`SELECT schemaname, tablename
442
+ FROM pg_tables
443
+ WHERE schemaname LIKE $1
444
+ AND tablename = 'changeLog'`, ['%/cdc']);
445
+ return result.rows.map(({ schemaname, tablename }) => `${quoteIdent(schemaname)}.${quoteIdent(tablename)}`);
446
+ }
447
+ catch (err) {
448
+ log.debug.pglite(`zero change-log table scan failed: ${err}`);
449
+ return [];
450
+ }
451
+ }
452
+ async function vacuumTables(db, tables) {
453
+ if (tables.length === 0)
454
+ return;
455
+ try {
456
+ await db.exec(`SET lock_timeout = 5000`);
457
+ for (const table of tables) {
458
+ try {
459
+ await db.exec(`VACUUM (FULL, ANALYZE) ${table}`);
460
+ }
461
+ catch (err) {
462
+ log.debug.pglite(`vacuum skipped for ${table}: ${err}`);
463
+ }
464
+ }
465
+ }
466
+ catch (err) {
467
+ log.debug.pglite(`periodic vacuum setup failed: ${err}`);
468
+ }
469
+ finally {
470
+ try {
471
+ await db.exec(`SET lock_timeout = 0`);
472
+ }
473
+ catch { }
474
+ }
475
+ }
476
+ /**
477
+ * Reclaim PGlite dead tuples from the two hot insert/delete buffers:
478
+ * orez's upstream logical-replication queue and zero-cache's own cdc changeLog.
479
+ */
480
+ export async function vacuumPGliteChurnTables(instances) {
481
+ await vacuumTables(instances.postgres, UPSTREAM_CHURN_TABLES);
482
+ const cdb = instances.cdb;
483
+ if (!cdb?.query)
484
+ return;
485
+ await vacuumTables(cdb, await zeroChangeLogTables(cdb));
486
+ }
435
487
  /**
436
- * orez's own change-tracking tables (`_orez._zero_changes` and the streamed-batch
437
- * mapping) are insert-then-purge churn: every write appends a change row, and
438
- * `confirmStreamedBatches` deletes them once the consumer durably commits. PGlite
439
- * runs with no effective autovacuum, so those deletes leave dead tuples that
440
- * accumulate without bound `_orez._zero_changes` was measured at 86MB for a few
441
- * thousand live rows. Once the table is bloated, zero-cache's change-streamer scan
442
- * blows past its 25s statement timeout and crash-loops into a full state reset, so
443
- * Zero clients get the initial snapshot but no live updates (the classic "data
444
- * loads once and never refreshes again" symptom).
488
+ * orez's change queues are insert-then-purge churn: every write appends a change
489
+ * row, and consumers delete rows once durably committed. PGlite runs with no
490
+ * effective autovacuum, so those deletes leave dead tuples that accumulate without
491
+ * bound. Once the tables are bloated, zero-cache's change-streamer scan blows past
492
+ * its statement timeout and crash-loops, so Zero clients get the initial snapshot
493
+ * but no live updates (the classic "data loads once and never refreshes again"
494
+ * symptom).
445
495
  *
446
496
  * VACUUM the churn tables periodically to reclaim the dead tuples. We use
447
497
  * `VACUUM FULL`, not plain VACUUM: PGlite's lazy (non-FULL) VACUUM wedges its
@@ -454,29 +504,9 @@ export function startPeriodicCheckpoint(instances, intervalMs = 5 * 60 * 1000) {
454
504
  *
455
505
  * returns a cleanup function to stop the timer.
456
506
  */
457
- export function startPeriodicVacuum(instances, intervalMs = 10 * 60 * 1000) {
458
- const churnTables = ['_orez._zero_changes', '_orez._zero_streamed_batches'];
507
+ export function startPeriodicVacuum(instances, intervalMs = 60 * 1000) {
459
508
  const vacuum = async () => {
460
- const db = instances.postgres;
461
- if (!db)
462
- return;
463
- try {
464
- await db.exec(`SET lock_timeout = '5s'`);
465
- for (const table of churnTables) {
466
- try {
467
- await db.exec(`VACUUM (FULL, ANALYZE) ${table}`);
468
- }
469
- catch { }
470
- }
471
- }
472
- catch {
473
- }
474
- finally {
475
- try {
476
- await db.exec(`SET lock_timeout = 0`);
477
- }
478
- catch { }
479
- }
509
+ await vacuumPGliteChurnTables(instances);
480
510
  };
481
511
  const timer = setInterval(vacuum, intervalMs);
482
512
  if (timer.unref)
@@ -1 +1 @@
1
- {"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pglite-manager.js","sourceRoot":"","sources":["../src/pglite-manager.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,8 @@ export interface RecoveryContext {
8
8
  config: {
9
9
  dataDir: string;
10
10
  useWorkerThreads?: boolean;
11
+ ephemeral?: boolean;
12
+ ephemeralDir?: string;
11
13
  };
12
14
  instances: {
13
15
  postgres: PGlite;
@@ -118,20 +120,21 @@ export declare function classifyZeroCrashRecovery(details: string): {
118
120
  * reset the state is beyond automatic repair.
119
121
  * - 'wasm-fallback' — native sqlite couldn't load: switch to wasm, then retry.
120
122
  * - 'restart' — transient/unexpected crash: plain relaunch, within budget.
121
- * - 'full-reset' — plain restarts exhausted: one heavier reset as a last
122
- * resort, then retry.
123
+ * - 'cache-reset' — plain restarts exhausted: rebuild the local replica as a
124
+ * last resort, preserving CVR/CDB so returning clients are not evicted with
125
+ * ClientNotFound.
123
126
  * - 'give-up' — nothing left to try: surface the original error.
124
127
  */
125
- export type ZeroStartupRecoveryAction = 'recover-state' | 'wasm-fallback' | 'restart' | 'full-reset' | 'give-up';
128
+ export type ZeroStartupRecoveryAction = 'recover-state' | 'wasm-fallback' | 'restart' | 'cache-reset' | 'give-up';
126
129
  export interface ZeroStartupRetryState {
127
130
  /** plain relaunches already attempted (not counting the first start). */
128
131
  plainRestarts: number;
129
- /** budget for plain relaunches before escalating to a full reset. */
132
+ /** budget for plain relaunches before rebuilding the local replica. */
130
133
  maxRestarts: number;
131
134
  /** a corruption/inconsistency reset has already been tried this startup. */
132
135
  didRecoverState: boolean;
133
- /** the last-resort full reset has already been tried this startup. */
134
- didFullReset: boolean;
136
+ /** the last-resort replica rebuild has already been tried this startup. */
137
+ didCacheReset: boolean;
135
138
  /** native sqlite is in use and a wasm fallback is permitted. */
136
139
  canWasmFallback: boolean;
137
140
  /** the wasm fallback has already been applied this startup. */
@@ -143,12 +146,7 @@ export declare function classifyZeroStartupRecovery(details: string, state: Zero
143
146
  action: ZeroStartupRecoveryAction;
144
147
  reason: string;
145
148
  };
146
- /**
147
- * detect replica files that cannot possibly be a valid already-synced Zero
148
- * replica. zero-cache can create the file itself during initial sync; an empty
149
- * file here is a leftover local-state artifact, not useful cache state.
150
- */
151
- export declare function getZeroReplicaStartupResetReason(dataDir: string): string | null;
149
+ export declare function getZeroReplicaStartupResetReason(replicaDir: string): string | null;
152
150
  /**
153
151
  * recover from zero-cache state corruption by resetting the CVR DB, change DB,
154
152
  * local replica, and upstream zero bookkeeping together.
@@ -1 +1 @@
1
- {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,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,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK7E;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA8B3E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,GACrC,YAAY,GAAG,MAAM,CAGvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiBnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf,CAWA;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,eAAe,GACf,SAAS,GACT,YAAY,GACZ,SAAS,CAAA;AAEb,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAA;IACrB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAA;IACxB,sEAAsE;IACtE,YAAY,EAAE,OAAO,CAAA;IACrB,gEAAgE;IAChE,eAAe,EAAE,OAAO,CAAA;IACxB,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IACxB,gEAAgE;IAChE,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,GAC3B;IAAE,MAAM,EAAE,yBAAyB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAoCvD;AAED;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAY/E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA4E1E"}
1
+ {"version":3,"file":"recovery.d.ts","sourceRoot":"","sources":["../src/recovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAA;QACf,gBAAgB,CAAC,EAAE,OAAO,CAAA;QAC1B,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;IACD,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,oCAAoC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAK7E;AAED;;;;GAIG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA8B3E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEzE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;IAAE,mBAAmB,EAAE,OAAO,CAAA;CAAE,GACrC,YAAY,GAAG,MAAM,CAGvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAiBnE;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG;IAC1D,MAAM,EAAE,YAAY,GAAG,SAAS,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf,CAWA;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,yBAAyB,GACjC,eAAe,GACf,eAAe,GACf,SAAS,GACT,aAAa,GACb,SAAS,CAAA;AAEb,MAAM,WAAW,qBAAqB;IACpC,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAA;IACrB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IACnB,4EAA4E;IAC5E,eAAe,EAAE,OAAO,CAAA;IACxB,2EAA2E;IAC3E,aAAa,EAAE,OAAO,CAAA;IACtB,gEAAgE;IAChE,eAAe,EAAE,OAAO,CAAA;IACxB,+DAA+D;IAC/D,eAAe,EAAE,OAAO,CAAA;IACxB,gEAAgE;IAChE,mBAAmB,EAAE,OAAO,CAAA;CAC7B;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,qBAAqB,GAC3B;IAAE,MAAM,EAAE,yBAAyB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqCvD;AAkBD,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYlF;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAgF1E"}
package/dist/recovery.js CHANGED
@@ -176,7 +176,7 @@ export function classifyZeroStartupRecovery(details, state) {
176
176
  }
177
177
  // a missing native sqlite binary is DETERMINISTIC, never transient: either
178
178
  // fall back to wasm (once, when permitted) or fail fast. it must NOT enter
179
- // the restart/full-reset path below — retrying would just loop into the same
179
+ // the restart/cache-reset path below — retrying would just loop into the same
180
180
  // missing-binary error, and the user explicitly wants `bun dev` to exit fast
181
181
  // when native zero sqlite isn't there rather than churn.
182
182
  if (state.nativeBinaryMissing) {
@@ -192,9 +192,10 @@ export function classifyZeroStartupRecovery(details, state) {
192
192
  if (state.plainRestarts < state.maxRestarts) {
193
193
  return { action: 'restart', reason: 'transient startup crash' };
194
194
  }
195
- // budget spent — one heavier full reset as a last resort.
196
- if (!state.didFullReset) {
197
- return { action: 'full-reset', reason: 'still crashing after restarts' };
195
+ // budget spent — rebuild the replica as a last resort, but preserve CVR/CDB
196
+ // so persisted clients can reconnect without ClientNotFound.
197
+ if (!state.didCacheReset) {
198
+ return { action: 'cache-reset', reason: 'still crashing after restarts' };
198
199
  }
199
200
  return { action: 'give-up', reason: 'unrecoverable startup crash' };
200
201
  }
@@ -203,8 +204,14 @@ export function classifyZeroStartupRecovery(details, state) {
203
204
  * replica. zero-cache can create the file itself during initial sync; an empty
204
205
  * file here is a leftover local-state artifact, not useful cache state.
205
206
  */
206
- export function getZeroReplicaStartupResetReason(dataDir) {
207
- const replicaPath = resolve(dataDir, 'zero-replica.db');
207
+ function pgliteDataDirFor(config, name) {
208
+ return config.ephemeral ? 'memory://' : resolve(config.dataDir, `pgdata-${name}`);
209
+ }
210
+ function zeroReplicaPath(config) {
211
+ return resolve(config.ephemeralDir ?? config.dataDir, 'zero-replica.db');
212
+ }
213
+ export function getZeroReplicaStartupResetReason(replicaDir) {
214
+ const replicaPath = resolve(replicaDir, 'zero-replica.db');
208
215
  if (!existsSync(replicaPath))
209
216
  return null;
210
217
  try {
@@ -244,7 +251,7 @@ export async function recoverZeroState(ctx) {
244
251
  }
245
252
  log.orez('deleted corrupted CVR/CDB data');
246
253
  // delete replica file
247
- const replicaPath = resolve(config.dataDir, 'zero-replica.db');
254
+ const replicaPath = zeroReplicaPath(config);
248
255
  for (const suffix of ['', '-shm', '-wal', '-wal2']) {
249
256
  try {
250
257
  rmSync(replicaPath + suffix, { force: true });
@@ -252,23 +259,27 @@ export async function recoverZeroState(ctx) {
252
259
  catch { }
253
260
  }
254
261
  // recreate CVR/CDB instances
262
+ const cvrDataDir = pgliteDataDirFor(config, 'cvr');
263
+ const cdbDataDir = pgliteDataDirFor(config, 'cdb');
255
264
  if (config.useWorkerThreads) {
256
- const cvrProxy = createPGliteWorker(resolve(config.dataDir, 'pgdata-cvr'), 'cvr');
257
- const cdbProxy = createPGliteWorker(resolve(config.dataDir, 'pgdata-cdb'), 'cdb');
265
+ const cvrProxy = createPGliteWorker(cvrDataDir, 'cvr');
266
+ const cdbProxy = createPGliteWorker(cdbDataDir, 'cdb');
258
267
  await Promise.all([cvrProxy.waitReady, cdbProxy.waitReady]);
259
268
  instances.cvr = cvrProxy;
260
269
  instances.cdb = cdbProxy;
261
270
  }
262
271
  else {
263
272
  const { PGlite: PGliteCtor } = await import('@electric-sql/pglite');
264
- mkdirSync(resolve(config.dataDir, 'pgdata-cvr'), { recursive: true });
265
- mkdirSync(resolve(config.dataDir, 'pgdata-cdb'), { recursive: true });
273
+ if (!config.ephemeral) {
274
+ mkdirSync(cvrDataDir, { recursive: true });
275
+ mkdirSync(cdbDataDir, { recursive: true });
276
+ }
266
277
  instances.cvr = new PGliteCtor({
267
- dataDir: resolve(config.dataDir, 'pgdata-cvr'),
278
+ dataDir: cvrDataDir,
268
279
  relaxedDurability: true,
269
280
  });
270
281
  instances.cdb = new PGliteCtor({
271
- dataDir: resolve(config.dataDir, 'pgdata-cdb'),
282
+ dataDir: cdbDataDir,
272
283
  relaxedDurability: true,
273
284
  });
274
285
  await instances.cvr.waitReady;
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CAClE;AAYD,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF/E;AAqFD,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAQ,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAKjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,gBAAgB,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,gBAAgB,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/E;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpF"}
1
+ {"version":3,"file":"change-tracker.d.ts","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,EAAE,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CACzC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAA;IAC5D,KAAK,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAC,CAAA;CAClE;AAYD,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF/E;AAqFD,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,wBAAsB,4BAA4B,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DtF;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,EACjB,KAAK,SAAQ,GACZ,OAAO,CAAC,YAAY,EAAE,CAAC,CAWzB;AAED,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,gBAAgB,EACpB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,gBAAgB,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,gBAAgB,EACpB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;AAED,wBAAsB,mBAAmB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAO/E;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOpF"}
@@ -1,4 +1,5 @@
1
1
  import { log } from '../log.js';
2
+ const PURGE_BATCH_SIZE = 5000;
2
3
  // PGlite returns JSONB columns as parsed objects; the DO backend returns them
3
4
  // as JSON strings (it stores `row_data TEXT`). normalize once at the consumer
4
5
  // boundary so callers always get an object.
@@ -228,8 +229,25 @@ export async function getChangesSince(db, watermark, limit = 50000) {
228
229
  }));
229
230
  }
230
231
  export async function purgeConsumedChanges(db, watermark) {
231
- const result = await db.exec(`DELETE FROM _orez._zero_changes WHERE watermark <= ${Number(watermark)}`);
232
- return result[0]?.affectedRows ?? 0;
232
+ const hi = Number(watermark);
233
+ let total = 0;
234
+ for (let i = 0; i < 10_000; i++) {
235
+ const result = await db.exec(`
236
+ DELETE FROM _orez._zero_changes
237
+ WHERE watermark IN (
238
+ SELECT watermark
239
+ FROM _orez._zero_changes
240
+ WHERE watermark <= ${hi}
241
+ ORDER BY watermark
242
+ LIMIT ${PURGE_BATCH_SIZE}
243
+ )
244
+ `);
245
+ const affected = result[0]?.affectedRows ?? 0;
246
+ total += affected;
247
+ if (affected < PURGE_BATCH_SIZE)
248
+ break;
249
+ }
250
+ return total;
233
251
  }
234
252
  /**
235
253
  * durably record a streamed batch BEFORE its rows go out on the wire:
@@ -260,9 +278,22 @@ export async function confirmStreamedBatches(db, confirmedLsn) {
260
278
  if (hi === null || hi === undefined)
261
279
  return 0;
262
280
  const purged = await purgeConsumedChanges(db, Number(hi));
263
- await db.query(`DELETE FROM _orez._zero_streamed_batches WHERE batch_lsn <= $1`, [
264
- Number(confirmedLsn),
265
- ]);
281
+ const target = Number(confirmedLsn);
282
+ for (let i = 0; i < 10_000; i++) {
283
+ const result = await db.exec(`
284
+ DELETE FROM _orez._zero_streamed_batches
285
+ WHERE batch_lsn IN (
286
+ SELECT batch_lsn
287
+ FROM _orez._zero_streamed_batches
288
+ WHERE batch_lsn <= ${target}
289
+ ORDER BY batch_lsn
290
+ LIMIT ${PURGE_BATCH_SIZE}
291
+ )
292
+ `);
293
+ const affected = result[0]?.affectedRows ?? 0;
294
+ if (affected < PURGE_BATCH_SIZE)
295
+ break;
296
+ }
266
297
  return purged;
267
298
  }
268
299
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"change-tracker.js","sourceRoot":"","sources":["../../src/replication/change-tracker.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAKlD,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAyB1C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;;gBAI3C,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;IAI9C,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM7B,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,KAAK,IAAI,IAAI;CAGd;AA4BD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIvD;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAA4B,GAC1D,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAkC7B;AAKD;2EAC2E;AAC3E,wBAAgB,uBAAuB,SAMtC;AAUD,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAcD;;;GAGG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,OAAO,EAAE,aAAa,EAAE,CAAA;AA+GxB,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAqBvD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmF5B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,EACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CA8kBf;AAqPD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
1
+ {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/replication/handler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAKlD,eAAO,MAAM,sBAAsB,OAAO,CAAA;AAyB1C,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAA;IAC7B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED;;;;GAIG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;;gBAI3C,MAAM,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI;IAI9C,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM7B,IAAI,MAAM,IAAI,OAAO,CAEpB;IAED,KAAK,IAAI,IAAI;CAGd;AA4BD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAIvD;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,YAAY,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAA4B,GAC1D,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAkC7B;AAKD;2EAC2E;AAC3E,wBAAgB,uBAAuB,SAMtC;AAUD,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAS5C;AAcD;;;GAGG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI/C;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI5D;AAED,OAAO,EAAE,aAAa,EAAE,CAAA;AA+GxB,iBAAS,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU,CAqBvD;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAmF5B;AAED;;;GAGG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,iBAAiB,EACzB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,IAAI,CAAC,CAklBf;AAqPD,OAAO,EAAE,kBAAkB,EAAE,CAAA"}
@@ -647,6 +647,22 @@ export async function handleStartReplication(query, writer, db, mutex) {
647
647
  };
648
648
  });
649
649
  };
650
+ const flushConfirmedBatches = async () => {
651
+ if (pendingConfirmLsn <= processedConfirmLsn)
652
+ return;
653
+ await mutex.acquire();
654
+ const target = pendingConfirmLsn;
655
+ try {
656
+ const purged = await confirmStreamedBatches(db, target);
657
+ processedConfirmLsn = target;
658
+ if (purged > 0) {
659
+ log.debug.proxy(`purged ${purged} confirmed changes`);
660
+ }
661
+ }
662
+ finally {
663
+ mutex.release();
664
+ }
665
+ };
650
666
  // register direct wakeup so the proxy can signal us immediately
651
667
  _replicationWakeup = wakeup;
652
668
  globalThis.__orez_signal_replication = wakeup;
@@ -731,6 +747,7 @@ export async function handleStartReplication(query, writer, db, mutex) {
731
747
  log.debug.repl('shard rescan skipped: mutex busy');
732
748
  }
733
749
  }
750
+ await flushConfirmedBatches();
734
751
  // try to acquire mutex without blocking proxy connections.
735
752
  // post-sync: short backoff since writes signal us directly.
736
753
  // pre-sync: yield more generously so zero-cache initial copy can finish.
@@ -785,25 +802,11 @@ export async function handleStartReplication(query, writer, db, mutex) {
785
802
  finally {
786
803
  mutex.release();
787
804
  }
788
- // purge batches the consumer has confirmed since the last pass.
789
- // confirmation arrives as a standby status update right after the
790
- // consumer durably commits a batch, so this runs on the wakeup that
791
- // ack triggers (or with the next batch under sustained write load).
792
- if (pendingConfirmLsn > processedConfirmLsn && mutex.tryAcquire()) {
793
- const target = pendingConfirmLsn;
794
- try {
795
- const purged = await confirmStreamedBatches(db, target);
796
- processedConfirmLsn = target;
797
- if (purged > 0) {
798
- log.debug.proxy(`purged ${purged} confirmed changes`);
799
- }
800
- }
801
- finally {
802
- mutex.release();
803
- }
805
+ const queryMs = performance.now() - queryStart;
806
+ if (queryMs > 1000) {
807
+ log.proxy(`slow change-log query: ${queryMs.toFixed(1)}ms (wm=${lastWatermark}, rows=${changes.length})`);
804
808
  }
805
809
  if (changes.length > 0) {
806
- const queryMs = performance.now() - queryStart;
807
810
  const signalToQueryMs = lastWakeupTime > 0 ? (performance.now() - lastWakeupTime).toFixed(1) : '?';
808
811
  // summarize which tables changed
809
812
  const tableSummary = [...new Set(changes.map((c) => c.table_name))].join(',');