@powersync/service-module-postgres-storage 0.16.3 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/dist/migrations/scripts/1782950400000-checkpoint-requested-at.d.ts +3 -0
- package/dist/migrations/scripts/1782950400000-checkpoint-requested-at.js +42 -0
- package/dist/migrations/scripts/1782950400000-checkpoint-requested-at.js.map +1 -0
- package/dist/migrations/scripts/1784900000000-source-metadata.d.ts +3 -0
- package/dist/migrations/scripts/1784900000000-source-metadata.js +22 -0
- package/dist/migrations/scripts/1784900000000-source-metadata.js.map +1 -0
- package/dist/storage/PostgresBucketStorageFactory.js +0 -2
- package/dist/storage/PostgresBucketStorageFactory.js.map +1 -1
- package/dist/storage/PostgresCompactor.d.ts +2 -0
- package/dist/storage/PostgresCompactor.js +20 -0
- package/dist/storage/PostgresCompactor.js.map +1 -1
- package/dist/storage/PostgresSyncRulesStorage.d.ts +16 -1
- package/dist/storage/PostgresSyncRulesStorage.js +200 -131
- package/dist/storage/PostgresSyncRulesStorage.js.map +1 -1
- package/dist/storage/batch/PostgresBucketBatch.d.ts +2 -20
- package/dist/storage/batch/PostgresBucketBatch.js +217 -240
- package/dist/storage/batch/PostgresBucketBatch.js.map +1 -1
- package/dist/storage/checkpoints/PostgresWriteCheckpointAPI.d.ts +1 -1
- package/dist/storage/checkpoints/PostgresWriteCheckpointAPI.js +156 -36
- package/dist/storage/checkpoints/PostgresWriteCheckpointAPI.js.map +1 -1
- package/dist/storage/current-data-store.d.ts +8 -2
- package/dist/storage/current-data-store.js +66 -11
- package/dist/storage/current-data-store.js.map +1 -1
- package/dist/types/models/SourceTable.d.ts +7 -2
- package/dist/types/models/SourceTable.js +6 -2
- package/dist/types/models/SourceTable.js.map +1 -1
- package/dist/types/models/WriteCheckpoint.d.ts +2 -0
- package/dist/types/models/WriteCheckpoint.js +5 -2
- package/dist/types/models/WriteCheckpoint.js.map +1 -1
- package/dist/utils/checkpoints.d.ts +9 -0
- package/dist/utils/checkpoints.js +26 -0
- package/dist/utils/checkpoints.js.map +1 -0
- package/package.json +8 -8
- package/src/migrations/scripts/1782950400000-checkpoint-requested-at.ts +51 -0
- package/src/migrations/scripts/1784900000000-source-metadata.ts +31 -0
- package/src/storage/PostgresBucketStorageFactory.ts +0 -3
- package/src/storage/PostgresCompactor.ts +24 -0
- package/src/storage/PostgresSyncRulesStorage.ts +219 -137
- package/src/storage/batch/PostgresBucketBatch.ts +227 -246
- package/src/storage/checkpoints/PostgresWriteCheckpointAPI.ts +165 -37
- package/src/storage/current-data-store.ts +66 -11
- package/src/types/models/SourceTable.ts +7 -2
- package/src/types/models/WriteCheckpoint.ts +5 -2
- package/src/utils/checkpoints.ts +31 -0
- package/test/src/__snapshots__/storage_sync.test.ts.snap +0 -582
- package/test/src/checkpoint_notifications.test.ts +522 -0
- package/test/src/storage.test.ts +214 -5
- package/test/src/storage_compacting.test.ts +3 -3
- package/test/src/storage_sync.test.ts +48 -4
- package/test/tsconfig.json +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -8,11 +8,16 @@ import { mapOpEntry } from '../utils/bucket-data.js';
|
|
|
8
8
|
import * as framework from '@powersync/lib-services-framework';
|
|
9
9
|
import { wrapWithAbort } from 'ix/asynciterable/operators/withabort.js';
|
|
10
10
|
import * as t from 'ts-codec';
|
|
11
|
+
import * as checkpointUtils from '../utils/checkpoints.js';
|
|
11
12
|
import { pick } from '../utils/ts-codec.js';
|
|
12
13
|
import { PostgresBucketBatch } from './batch/PostgresBucketBatch.js';
|
|
13
14
|
import { PostgresWriteCheckpointAPI } from './checkpoints/PostgresWriteCheckpointAPI.js';
|
|
14
15
|
import { PostgresCurrentDataStore } from './current-data-store.js';
|
|
15
16
|
import { PostgresCompactor } from './PostgresCompactor.js';
|
|
17
|
+
/**
|
|
18
|
+
* Number of rows deleted per batch when clearing storage for a replication stream.
|
|
19
|
+
*/
|
|
20
|
+
export const CLEAR_BATCH_LIMIT = 50_000;
|
|
16
21
|
export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
17
22
|
options;
|
|
18
23
|
[framework.DO_NOT_LOG] = true;
|
|
@@ -247,7 +252,7 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
247
252
|
// Each batch query batch are streamed in separate sets of rows, which may or may
|
|
248
253
|
// not match up with chunks.
|
|
249
254
|
const end = checkpoint.checkpoint ?? BIGINT_MAX;
|
|
250
|
-
const
|
|
255
|
+
const sortedBuckets = [...dataBuckets].sort((a, b) => a.bucket.localeCompare(b.bucket));
|
|
251
256
|
const startOpByBucket = new Map(dataBuckets.map((request) => [request.bucket, request.start]));
|
|
252
257
|
const batchRowLimit = options?.limit ?? storage.DEFAULT_DOCUMENT_BATCH_LIMIT;
|
|
253
258
|
const chunkSizeLimitBytes = options?.chunkLimitBytes ?? storage.DEFAULT_DOCUMENT_CHUNK_LIMIT_BYTES;
|
|
@@ -255,65 +260,64 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
255
260
|
let currentChunk = null;
|
|
256
261
|
let targetOp = null;
|
|
257
262
|
let batchRowCount = 0;
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
* (FILTER ->> 'start')::BIGINT AS start_op_id
|
|
266
|
-
* FROM
|
|
267
|
-
* jsonb_array_elements($1::jsonb) AS FILTER
|
|
268
|
-
* )
|
|
269
|
-
* SELECT
|
|
270
|
-
* b.*,
|
|
271
|
-
* octet_length(b.data) AS data_size
|
|
272
|
-
* FROM
|
|
273
|
-
* bucket_data b
|
|
274
|
-
* JOIN filter_data f ON b.bucket_name = f.bucket_name
|
|
275
|
-
* AND b.op_id > f.start_op_id
|
|
276
|
-
* AND b.op_id <= $2
|
|
277
|
-
* WHERE
|
|
278
|
-
* b.group_id = $3
|
|
279
|
-
* ORDER BY
|
|
280
|
-
* b.bucket_name ASC,
|
|
281
|
-
* b.op_id ASC
|
|
282
|
-
* LIMIT
|
|
283
|
-
* $4;
|
|
284
|
-
* ```
|
|
285
|
-
* Which might be better for large volumes of buckets, but in testing the JSON method
|
|
286
|
-
* was significantly slower than the method below. Syncing 2.5 million rows in a single
|
|
287
|
-
* bucket takes 2 minutes and 11 seconds with the method below. With the JSON method
|
|
288
|
-
* 1 million rows were only synced before a 5 minute timeout.
|
|
289
|
-
*/
|
|
290
|
-
for await (const rows of this.db.streamRows({
|
|
263
|
+
const requestedBuckets = sortedBuckets
|
|
264
|
+
.map((_, index) => `($${index * 2 + 4}, $${index * 2 + 5}, ${index})`)
|
|
265
|
+
.join(', ');
|
|
266
|
+
// Use one round trip while keeping a parameterized index range scan per bucket. Ordering the non-flattened request
|
|
267
|
+
// subquery gives Postgres a presorted bucket key, allowing an incremental sort and the outer limit to stop the
|
|
268
|
+
// nested loop early. The inner limit cannot exclude rows needed by the outer batch because both limits are equal.
|
|
269
|
+
const query = {
|
|
291
270
|
statement: `
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
271
|
+
SELECT
|
|
272
|
+
bucket_data.*
|
|
273
|
+
FROM
|
|
274
|
+
(
|
|
275
|
+
SELECT
|
|
276
|
+
*
|
|
277
|
+
FROM
|
|
278
|
+
(
|
|
279
|
+
VALUES ${requestedBuckets}
|
|
280
|
+
) AS bucket_requests(bucket_name, start_op_id, bucket_order)
|
|
281
|
+
-- Present requests in bucket order so the final sort can be incremental.
|
|
282
|
+
ORDER BY
|
|
283
|
+
bucket_order ASC
|
|
284
|
+
-- Prevent the planner from flattening away the ordered request path.
|
|
285
|
+
OFFSET
|
|
286
|
+
0
|
|
287
|
+
) AS requested
|
|
288
|
+
CROSS JOIN LATERAL (
|
|
289
|
+
SELECT
|
|
290
|
+
*
|
|
291
|
+
FROM
|
|
292
|
+
bucket_data
|
|
293
|
+
WHERE
|
|
294
|
+
group_id = $1
|
|
295
|
+
AND bucket_name = requested.bucket_name
|
|
296
|
+
AND op_id > requested.start_op_id
|
|
297
|
+
AND op_id <= $2
|
|
298
|
+
-- Keep each bucket's index range scan ordered and bounded.
|
|
299
|
+
ORDER BY
|
|
300
|
+
op_id ASC
|
|
301
|
+
LIMIT
|
|
302
|
+
$3
|
|
303
|
+
) AS bucket_data
|
|
304
|
+
-- Guarantee contiguous bucket chunks while allowing the presorted bucket key to stop scans early.
|
|
305
|
+
ORDER BY
|
|
306
|
+
requested.bucket_order ASC,
|
|
307
|
+
bucket_data.op_id ASC
|
|
308
|
+
LIMIT
|
|
309
|
+
$3;`,
|
|
307
310
|
params: [
|
|
308
311
|
{ type: 'int4', value: this.replicationStreamId },
|
|
309
312
|
{ type: 'int8', value: end },
|
|
310
313
|
{ type: 'int4', value: batchRowLimit },
|
|
311
|
-
...
|
|
312
|
-
{ type: 'varchar', value:
|
|
313
|
-
{ type: 'int8', value:
|
|
314
|
+
...sortedBuckets.flatMap((request) => [
|
|
315
|
+
{ type: 'varchar', value: request.bucket },
|
|
316
|
+
{ type: 'int8', value: request.start }
|
|
314
317
|
])
|
|
315
318
|
]
|
|
316
|
-
}
|
|
319
|
+
};
|
|
320
|
+
for await (const rows of this.db.streamRows(query)) {
|
|
317
321
|
const decodedRows = rows.map((r) => models.BucketData.decode(r));
|
|
318
322
|
for (const row of decodedRows) {
|
|
319
323
|
const { bucket_name } = row;
|
|
@@ -428,7 +432,10 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
428
432
|
};
|
|
429
433
|
}
|
|
430
434
|
async clear(options) {
|
|
431
|
-
|
|
435
|
+
const signal = options?.signal;
|
|
436
|
+
if (signal?.aborted) {
|
|
437
|
+
throw new framework.ReplicationAbortedError('Aborted clearing data', signal.reason);
|
|
438
|
+
}
|
|
432
439
|
await this.db.sql `
|
|
433
440
|
UPDATE sync_rules
|
|
434
441
|
SET
|
|
@@ -439,22 +446,60 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
439
446
|
WHERE
|
|
440
447
|
id = ${{ type: 'int4', value: this.replicationStreamId }}
|
|
441
448
|
`.execute();
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
await this.
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
await this.
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
449
|
+
// Delete in batches - a single DELETE covering the entire group can run for
|
|
450
|
+
// hours on large deployments, never completing once it exceeds statement or
|
|
451
|
+
// socket timeouts. Each batch is its own autocommit statement, so progress
|
|
452
|
+
// is durable and a retry continues where the previous attempt stopped.
|
|
453
|
+
await this.clearBatched('bucket_data', signal, () => this.deleteGroupBatch('bucket_data'));
|
|
454
|
+
await this.clearBatched('bucket_parameters', signal, () => this.deleteGroupBatch('bucket_parameters'));
|
|
455
|
+
await this.clearBatched('current_data', signal, () => this.currentDataStore.deleteGroupRowsBatch(this.db, {
|
|
456
|
+
groupId: this.replicationStreamId,
|
|
457
|
+
limit: CLEAR_BATCH_LIMIT
|
|
458
|
+
}));
|
|
459
|
+
await this.clearBatched('source_tables', signal, () => this.deleteGroupBatch('source_tables'));
|
|
460
|
+
}
|
|
461
|
+
async clearBatched(label, signal, deleteBatch) {
|
|
462
|
+
while (true) {
|
|
463
|
+
if (signal?.aborted) {
|
|
464
|
+
throw new framework.ReplicationAbortedError('Aborted clearing data', signal.reason);
|
|
465
|
+
}
|
|
466
|
+
const count = await deleteBatch();
|
|
467
|
+
if (count < CLEAR_BATCH_LIMIT) {
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
this.logger.info(`Cleared batch of ${count} ${label} rows, continuing...`);
|
|
471
|
+
}
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Delete up to {@link CLEAR_BATCH_LIMIT} rows for this group from the given table,
|
|
475
|
+
* returning the number of candidate rows found by the scan.
|
|
476
|
+
*
|
|
477
|
+
* The count is taken from the scan (`batch`) rather than the delete: with a
|
|
478
|
+
* concurrent process deleting the same rows, the delete may remove fewer rows
|
|
479
|
+
* than the scan found, and counting deleted rows could stop the loop while
|
|
480
|
+
* rows remain.
|
|
481
|
+
*/
|
|
482
|
+
async deleteGroupBatch(table) {
|
|
483
|
+
const [row] = await this.db.queryRows({
|
|
484
|
+
statement: `
|
|
485
|
+
WITH batch AS (
|
|
486
|
+
SELECT ctid FROM ${table}
|
|
487
|
+
WHERE group_id = $1
|
|
488
|
+
LIMIT $2
|
|
489
|
+
),
|
|
490
|
+
deleted AS (
|
|
491
|
+
DELETE FROM ${table}
|
|
492
|
+
WHERE ctid IN (SELECT ctid FROM batch)
|
|
493
|
+
RETURNING 1
|
|
494
|
+
)
|
|
495
|
+
SELECT COUNT(*) AS count FROM batch
|
|
496
|
+
`,
|
|
497
|
+
params: [
|
|
498
|
+
{ type: 'int4', value: this.replicationStreamId },
|
|
499
|
+
{ type: 'int4', value: CLEAR_BATCH_LIMIT }
|
|
500
|
+
]
|
|
501
|
+
});
|
|
502
|
+
return row?.count ?? 0n;
|
|
458
503
|
}
|
|
459
504
|
async getChecksumsInternal(batch) {
|
|
460
505
|
if (batch.length == 0) {
|
|
@@ -515,24 +560,8 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
515
560
|
}));
|
|
516
561
|
}
|
|
517
562
|
async getActiveCheckpoint() {
|
|
518
|
-
const
|
|
519
|
-
|
|
520
|
-
id,
|
|
521
|
-
last_checkpoint,
|
|
522
|
-
last_checkpoint_lsn
|
|
523
|
-
FROM
|
|
524
|
-
sync_rules
|
|
525
|
-
WHERE
|
|
526
|
-
state = ${{ value: storage.SyncRuleState.ACTIVE, type: 'varchar' }}
|
|
527
|
-
OR state = ${{ value: storage.SyncRuleState.ERRORED, type: 'varchar' }}
|
|
528
|
-
ORDER BY
|
|
529
|
-
id DESC
|
|
530
|
-
LIMIT
|
|
531
|
-
1
|
|
532
|
-
`
|
|
533
|
-
.decoded(models.ActiveCheckpoint)
|
|
534
|
-
.first();
|
|
535
|
-
return this.makeActiveCheckpoint(activeCheckpoint);
|
|
563
|
+
const activeCheckpointDocument = await checkpointUtils.getActiveCheckpointDocument({ db: this.db });
|
|
564
|
+
return this.makeActiveCheckpoint(activeCheckpointDocument);
|
|
536
565
|
}
|
|
537
566
|
async *watchCheckpointChanges(options) {
|
|
538
567
|
let lastCheckpoint = null;
|
|
@@ -569,53 +598,84 @@ export class PostgresSyncRulesStorage extends framework.BaseObserver {
|
|
|
569
598
|
}
|
|
570
599
|
}
|
|
571
600
|
async *watchActiveCheckpoint(signal) {
|
|
572
|
-
const
|
|
573
|
-
|
|
574
|
-
id,
|
|
575
|
-
last_checkpoint,
|
|
576
|
-
last_checkpoint_lsn
|
|
577
|
-
FROM
|
|
578
|
-
sync_rules
|
|
579
|
-
WHERE
|
|
580
|
-
state = ${{ value: storage.SyncRuleState.ACTIVE, type: 'varchar' }}
|
|
581
|
-
OR state = ${{ value: storage.SyncRuleState.ERRORED, type: 'varchar' }}
|
|
582
|
-
LIMIT
|
|
583
|
-
1
|
|
584
|
-
`
|
|
585
|
-
.decoded(models.ActiveCheckpoint)
|
|
586
|
-
.first();
|
|
587
|
-
if (doc == null) {
|
|
588
|
-
// Abort the connections - clients will have to retry later.
|
|
589
|
-
throw new framework.ServiceError(framework.ErrorCode.PSYNC_S2302, 'No active replication stream available');
|
|
590
|
-
}
|
|
591
|
-
const sink = new LastValueSink(undefined);
|
|
601
|
+
const sink = new LastValueSink(null);
|
|
602
|
+
// Listen for changes before reading the initial doc
|
|
592
603
|
const disposeListener = this.db.registerListener({
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
}
|
|
609
|
-
if (Number(notification.active_checkpoint.id) != doc.id) {
|
|
610
|
-
// Active replication stream changed - abort and restart the stream
|
|
611
|
-
break;
|
|
604
|
+
notificationEvent: (event) => {
|
|
605
|
+
switch (event.type) {
|
|
606
|
+
case 'notification':
|
|
607
|
+
sink.write(event.notification.payload);
|
|
608
|
+
break;
|
|
609
|
+
case 'channels-registered':
|
|
610
|
+
// Add a null value to the stream, indicating the loop should query the value.
|
|
611
|
+
sink.write(null);
|
|
612
|
+
break;
|
|
613
|
+
case 'connection-error':
|
|
614
|
+
// End the watcher after reconnect attempts are exhausted. Consumers will
|
|
615
|
+
// retry the watcher, which registers a new listener and pokes the slot.
|
|
616
|
+
sink.error(event.error);
|
|
617
|
+
break;
|
|
618
|
+
}
|
|
612
619
|
}
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
620
|
+
});
|
|
621
|
+
try {
|
|
622
|
+
const initialCheckpointDocument = requireActiveCheckpointDocument(await checkpointUtils.getActiveCheckpointDocument({ db: this.db }));
|
|
623
|
+
const initialCheckpoint = this.makeActiveCheckpoint(initialCheckpointDocument);
|
|
624
|
+
let lastOp = initialCheckpoint;
|
|
625
|
+
yield initialCheckpoint;
|
|
626
|
+
for await (const payload of sink.withSignal(signal)) {
|
|
627
|
+
if (signal.aborted) {
|
|
628
|
+
return;
|
|
629
|
+
}
|
|
630
|
+
let baseActiveCheckpoint = null;
|
|
631
|
+
if (payload == null) {
|
|
632
|
+
// Reconnected (or manually triggered) - re-query the current checkpoint.
|
|
633
|
+
// Unlike the initial read, a missing document here (e.g. sync rules being
|
|
634
|
+
// replaced) must not abort the stream: keep waiting for the next notification.
|
|
635
|
+
baseActiveCheckpoint = await checkpointUtils.getActiveCheckpointDocument({ db: this.db });
|
|
636
|
+
if (baseActiveCheckpoint == null) {
|
|
637
|
+
continue;
|
|
638
|
+
}
|
|
639
|
+
}
|
|
640
|
+
else {
|
|
641
|
+
let notification;
|
|
642
|
+
try {
|
|
643
|
+
notification = models.ActiveCheckpointNotification.decode(payload);
|
|
644
|
+
}
|
|
645
|
+
catch (error) {
|
|
646
|
+
// A malformed payload must not abort the shared stream for every
|
|
647
|
+
// subscriber. Skip it and wait for the next notification.
|
|
648
|
+
this.logger.warn('Failed to decode active checkpoint notification, ignoring', error);
|
|
649
|
+
continue;
|
|
650
|
+
}
|
|
651
|
+
if (notification.active_checkpoint == null) {
|
|
652
|
+
continue;
|
|
653
|
+
}
|
|
654
|
+
baseActiveCheckpoint = notification.active_checkpoint;
|
|
655
|
+
}
|
|
656
|
+
if (baseActiveCheckpoint.id != initialCheckpointDocument.id) {
|
|
657
|
+
// Active replication stream changed - abort and restart the stream
|
|
658
|
+
break;
|
|
659
|
+
}
|
|
660
|
+
const activeCheckpoint = this.makeActiveCheckpoint(baseActiveCheckpoint);
|
|
661
|
+
const checkpointAdvanced = activeCheckpoint.checkpoint > lastOp.checkpoint;
|
|
662
|
+
const checkpointRegressed = activeCheckpoint.checkpoint < lastOp.checkpoint;
|
|
663
|
+
const lsnAdvanced = lastOp.lsn == null
|
|
664
|
+
? activeCheckpoint.lsn != null
|
|
665
|
+
: activeCheckpoint.lsn != null && activeCheckpoint.lsn > lastOp.lsn;
|
|
666
|
+
const lsnRegressed = lastOp.lsn != null && (activeCheckpoint.lsn == null || activeCheckpoint.lsn < lastOp.lsn);
|
|
667
|
+
// Notifications buffered before a query or reconnect may be stale. Neither
|
|
668
|
+
// coordinate may regress, but only one needs to advance: an empty checkpoint
|
|
669
|
+
// updates the LSN while keeping the operation checkpoint unchanged.
|
|
670
|
+
if (!checkpointRegressed && !lsnRegressed && (checkpointAdvanced || lsnAdvanced)) {
|
|
671
|
+
lastOp = activeCheckpoint;
|
|
672
|
+
yield activeCheckpoint;
|
|
673
|
+
}
|
|
617
674
|
}
|
|
618
675
|
}
|
|
676
|
+
finally {
|
|
677
|
+
disposeListener();
|
|
678
|
+
}
|
|
619
679
|
}
|
|
620
680
|
async getCheckpointChanges(options) {
|
|
621
681
|
// We do not track individual changes yet
|
|
@@ -642,4 +702,13 @@ const parameterSetsRow = t.object({
|
|
|
642
702
|
index: bigint,
|
|
643
703
|
bucket_parameters: t.string
|
|
644
704
|
});
|
|
705
|
+
function requireActiveCheckpointDocument(doc) {
|
|
706
|
+
if (doc == null) {
|
|
707
|
+
// Used for the initial checkpoint read only: with no active replication stream
|
|
708
|
+
// at stream start, fail fast so clients disconnect and retry later. Mid-stream
|
|
709
|
+
// reconnects tolerate a transiently missing document instead of aborting.
|
|
710
|
+
throw new framework.ServiceError(framework.ErrorCode.PSYNC_S2302, 'No active replication stream available');
|
|
711
|
+
}
|
|
712
|
+
return doc;
|
|
713
|
+
}
|
|
645
714
|
//# sourceMappingURL=PostgresSyncRulesStorage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostgresSyncRulesStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresSyncRulesStorage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PostgresSyncRulesStorage.js","sourceRoot":"","sources":["../../src/storage/PostgresSyncRulesStorage.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,8 @@ import * as lib_postgres from '@powersync/lib-service-postgres';
|
|
|
2
2
|
import { BaseObserver, Logger } from '@powersync/lib-services-framework';
|
|
3
3
|
import { BucketStorageMarkRecordUnavailable, CheckpointResult, InternalOpId, storage } from '@powersync/service-core';
|
|
4
4
|
import * as sync_rules from '@powersync/service-sync-rules';
|
|
5
|
-
import * as t from 'ts-codec';
|
|
6
5
|
import { V3CurrentDataDecoded } from '../../types/models/CurrentData.js';
|
|
7
|
-
import { RequiredOperationBatchLimits } from '../../types/types.js';
|
|
6
|
+
import { models, RequiredOperationBatchLimits } from '../../types/types.js';
|
|
8
7
|
import { OperationBatch, RecordOperation } from './OperationBatch.js';
|
|
9
8
|
import { PostgresPersistedBatch } from './PostgresPersistedBatch.js';
|
|
10
9
|
export interface PostgresBucketBatchOptions {
|
|
@@ -26,22 +25,6 @@ export interface PostgresBucketBatchOptions {
|
|
|
26
25
|
hooks: storage.StorageHooks | undefined;
|
|
27
26
|
storageConfig: storage.StorageVersionConfig;
|
|
28
27
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Intermediate type which helps for only watching the active replication stream
|
|
31
|
-
* via the Postgres NOTIFY protocol.
|
|
32
|
-
*/
|
|
33
|
-
declare const StatefulCheckpoint: t.Intersection<t.Codec<{
|
|
34
|
-
id: number;
|
|
35
|
-
last_checkpoint: bigint | null;
|
|
36
|
-
last_checkpoint_lsn: string | null;
|
|
37
|
-
}, {
|
|
38
|
-
id: number;
|
|
39
|
-
last_checkpoint: string | number | null;
|
|
40
|
-
last_checkpoint_lsn: string | null;
|
|
41
|
-
}, string, t.CodecProps>, t.ObjectCodec<{
|
|
42
|
-
state: t.EnumCodec<typeof storage.SyncRuleState>;
|
|
43
|
-
}>>;
|
|
44
|
-
type StatefulCheckpointDecoded = t.Decoded<typeof StatefulCheckpoint>;
|
|
45
28
|
export declare class PostgresBucketBatch extends BaseObserver<storage.BucketBatchStorageListener> implements storage.BucketStorageBatch {
|
|
46
29
|
protected options: PostgresBucketBatchOptions;
|
|
47
30
|
private logger;
|
|
@@ -121,5 +104,4 @@ export declare class PostgresBucketBatch extends BaseObserver<storage.BucketBatc
|
|
|
121
104
|
* Uses Postgres' NOTIFY functionality to update different processes when the
|
|
122
105
|
* active checkpoint has been updated.
|
|
123
106
|
*/
|
|
124
|
-
export declare const notifySyncRulesUpdate: (db: lib_postgres.
|
|
125
|
-
export {};
|
|
107
|
+
export declare const notifySyncRulesUpdate: (db: lib_postgres.AbstractPostgresConnection, update: models.ActiveCheckpointDecoded) => Promise<void>;
|