@powersync/service-module-mongodb-storage 0.23.2 → 0.24.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.
Files changed (99) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +201 -67
  3. package/dist/storage/MongoBucketStorage.d.ts +1 -0
  4. package/dist/storage/MongoBucketStorage.js +3 -0
  5. package/dist/storage/MongoBucketStorage.js.map +1 -1
  6. package/dist/storage/implementation/MongoBucketBatch.d.ts +60 -39
  7. package/dist/storage/implementation/MongoBucketBatch.js +123 -296
  8. package/dist/storage/implementation/MongoBucketBatch.js.map +1 -1
  9. package/dist/storage/implementation/MongoOpIdAllocator.d.ts +6 -1
  10. package/dist/storage/implementation/MongoOpIdAllocator.js +12 -5
  11. package/dist/storage/implementation/MongoOpIdAllocator.js.map +1 -1
  12. package/dist/storage/implementation/MongoParsedSyncConfigSet.d.ts +7 -0
  13. package/dist/storage/implementation/MongoParsedSyncConfigSet.js +28 -2
  14. package/dist/storage/implementation/MongoParsedSyncConfigSet.js.map +1 -1
  15. package/dist/storage/implementation/MongoReplicationOptions.d.ts +27 -0
  16. package/dist/storage/implementation/MongoReplicationOptions.js +26 -0
  17. package/dist/storage/implementation/MongoReplicationOptions.js.map +1 -0
  18. package/dist/storage/implementation/MongoSyncBucketStorage.js +2 -3
  19. package/dist/storage/implementation/MongoSyncBucketStorage.js.map +1 -1
  20. package/dist/storage/implementation/MongoSyncRulesLock.d.ts +15 -2
  21. package/dist/storage/implementation/MongoSyncRulesLock.js +36 -14
  22. package/dist/storage/implementation/MongoSyncRulesLock.js.map +1 -1
  23. package/dist/storage/implementation/common/BatchOperationBuffer.d.ts +79 -0
  24. package/dist/storage/implementation/common/BatchOperationBuffer.js +286 -0
  25. package/dist/storage/implementation/common/BatchOperationBuffer.js.map +1 -0
  26. package/dist/storage/implementation/common/PersistedBatch.d.ts +10 -103
  27. package/dist/storage/implementation/common/PersistedBatch.js +1 -291
  28. package/dist/storage/implementation/common/PersistedBatch.js.map +1 -1
  29. package/dist/storage/implementation/common/PreparedPublication.d.ts +43 -0
  30. package/dist/storage/implementation/common/PreparedPublication.js +2 -0
  31. package/dist/storage/implementation/common/PreparedPublication.js.map +1 -0
  32. package/dist/storage/implementation/common/SourceRecordStore.d.ts +0 -2
  33. package/dist/storage/implementation/v1/MongoBucketBatchV1.d.ts +17 -13
  34. package/dist/storage/implementation/v1/MongoBucketBatchV1.js +259 -18
  35. package/dist/storage/implementation/v1/MongoBucketBatchV1.js.map +1 -1
  36. package/dist/storage/implementation/v1/PersistedBatchV1.d.ts +21 -15
  37. package/dist/storage/implementation/v1/PersistedBatchV1.js +58 -24
  38. package/dist/storage/implementation/v1/PersistedBatchV1.js.map +1 -1
  39. package/dist/storage/implementation/v1/SourceRecordStoreV1.d.ts +0 -2
  40. package/dist/storage/implementation/v1/SourceRecordStoreV1.js +0 -3
  41. package/dist/storage/implementation/v1/SourceRecordStoreV1.js.map +1 -1
  42. package/dist/storage/implementation/v3/MongoBucketBatchV3.d.ts +25 -14
  43. package/dist/storage/implementation/v3/MongoBucketBatchV3.js +350 -23
  44. package/dist/storage/implementation/v3/MongoBucketBatchV3.js.map +1 -1
  45. package/dist/storage/implementation/v3/MongoCompactorV3.d.ts +1 -0
  46. package/dist/storage/implementation/v3/MongoCompactorV3.js +10 -4
  47. package/dist/storage/implementation/v3/MongoCompactorV3.js.map +1 -1
  48. package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js +39 -28
  49. package/dist/storage/implementation/v3/MongoSyncBucketStorageV3.js.map +1 -1
  50. package/dist/storage/implementation/v3/PersistedBatchV3.d.ts +46 -24
  51. package/dist/storage/implementation/v3/PersistedBatchV3.js +159 -83
  52. package/dist/storage/implementation/v3/PersistedBatchV3.js.map +1 -1
  53. package/dist/storage/implementation/v3/SourceRecordStoreV3.d.ts +12 -0
  54. package/dist/storage/implementation/v3/SourceRecordStoreV3.js +41 -13
  55. package/dist/storage/implementation/v3/SourceRecordStoreV3.js.map +1 -1
  56. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.d.ts +4 -0
  57. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js +4 -0
  58. package/dist/storage/implementation/v3/object-storage/BucketDataObjectStorage.js.map +1 -1
  59. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.d.ts +27 -2
  60. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js +61 -5
  61. package/dist/storage/implementation/v3/object-storage/ObjectStorageLifecycle.js.map +1 -1
  62. package/package.json +9 -10
  63. package/src/storage/MongoBucketStorage.ts +4 -0
  64. package/src/storage/implementation/MongoBucketBatch.ts +185 -392
  65. package/src/storage/implementation/MongoOpIdAllocator.ts +12 -5
  66. package/src/storage/implementation/MongoParsedSyncConfigSet.ts +40 -1
  67. package/src/storage/implementation/MongoReplicationOptions.ts +28 -0
  68. package/src/storage/implementation/MongoSyncBucketStorage.ts +2 -3
  69. package/src/storage/implementation/MongoSyncRulesLock.ts +39 -17
  70. package/src/storage/implementation/common/BatchOperationBuffer.ts +353 -0
  71. package/src/storage/implementation/common/PersistedBatch.ts +12 -390
  72. package/src/storage/implementation/common/PreparedPublication.ts +49 -0
  73. package/src/storage/implementation/common/SourceRecordStore.ts +0 -2
  74. package/src/storage/implementation/v1/MongoBucketBatchV1.ts +339 -27
  75. package/src/storage/implementation/v1/PersistedBatchV1.ts +74 -32
  76. package/src/storage/implementation/v1/SourceRecordStoreV1.ts +0 -5
  77. package/src/storage/implementation/v3/MongoBucketBatchV3.ts +430 -32
  78. package/src/storage/implementation/v3/MongoCompactorV3.ts +13 -4
  79. package/src/storage/implementation/v3/MongoSyncBucketStorageV3.ts +43 -29
  80. package/src/storage/implementation/v3/PersistedBatchV3.ts +209 -108
  81. package/src/storage/implementation/v3/SourceRecordStoreV3.ts +45 -15
  82. package/src/storage/implementation/v3/object-storage/BucketDataObjectStorage.ts +9 -0
  83. package/src/storage/implementation/v3/object-storage/ObjectStorageLifecycle.ts +79 -5
  84. package/test/src/checkpoint_cleanup.test.ts +75 -0
  85. package/test/src/concurrent_writers.test.ts +127 -53
  86. package/test/src/helpers/PublicationCommandMonitor.ts +119 -0
  87. package/test/src/helpers/concurrentWriter.mjs +2 -2
  88. package/test/src/invalid_sync_config.test.ts +9 -0
  89. package/test/src/object_storage_lifecycle.test.ts +72 -2
  90. package/test/src/prepared_publication.test.ts +388 -0
  91. package/test/src/replication_preparation.test.ts +829 -0
  92. package/test/src/replication_publication_baseline.test.ts +203 -0
  93. package/test/src/replication_publication_batching.test.ts +212 -0
  94. package/test/src/replication_uploads.test.ts +393 -0
  95. package/test/src/source_table_config.test.ts +4 -4
  96. package/test/src/storage_object_storage_inline_threshold.test.ts +1 -1
  97. package/test/src/storage_s3_compaction_lifecycle.test.ts +93 -1
  98. package/test/src/storage_sync.test.ts +83 -2
  99. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoCompactorV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoCompactorV3.ts"],"names":[],"mappings":"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"}
@@ -393,35 +393,46 @@ export async function getParameterSetsV3(ctx, checkpoint, lookups, limit) {
393
393
  ]
394
394
  };
395
395
  };
396
- const [firstLookup, ...remainingLookups] = lookups;
397
- const firstQuery = firstLookup == null ? null : buildLookupPipeline(firstLookup, 0);
398
- if (firstQuery == null) {
399
- return [];
396
+ // Every lookup after the first adds a $unionWith stage, and MongoDB rejects
397
+ // pipelines with more than 1000 stages, so evaluate lookups in batches.
398
+ const MAX_LOOKUPS_PER_PIPELINE = 900;
399
+ const rows = [];
400
+ for (let start = 0; start < lookups.length; start += MAX_LOOKUPS_PER_PIPELINE) {
401
+ const remaining = limit + 1 - rows.length;
402
+ if (remaining <= 0) {
403
+ break;
404
+ }
405
+ const batch = lookups.slice(start, start + MAX_LOOKUPS_PER_PIPELINE);
406
+ const [firstLookup, ...remainingLookups] = batch;
407
+ const firstQuery = buildLookupPipeline(firstLookup, start);
408
+ const pipeline = [
409
+ ...firstQuery.pipeline,
410
+ ...remainingLookups.map((lookup, indexInRemaining) => {
411
+ const query = buildLookupPipeline(lookup, start + indexInRemaining + 1);
412
+ return {
413
+ $unionWith: {
414
+ coll: query.collection.collectionName,
415
+ pipeline: query.pipeline
416
+ }
417
+ };
418
+ }),
419
+ { $unwind: '$bucket_parameters' },
420
+ { $limit: remaining }
421
+ ];
422
+ const batchRows = await firstQuery.collection
423
+ .aggregate(pipeline, {
424
+ session,
425
+ readConcern: 'snapshot',
426
+ maxTimeMS: lib_mongo.db.MONGO_OPERATION_TIMEOUT_MS
427
+ })
428
+ .toArray()
429
+ .catch((e) => {
430
+ throw lib_mongo.mapQueryError(e, 'while evaluating parameter queries');
431
+ });
432
+ for (const row of batchRows) {
433
+ rows.push(row);
434
+ }
400
435
  }
401
- const pipeline = [
402
- ...firstQuery.pipeline,
403
- ...remainingLookups.map((lookup, indexInRemaining) => {
404
- const query = buildLookupPipeline(lookup, indexInRemaining + 1);
405
- return {
406
- $unionWith: {
407
- coll: query.collection.collectionName,
408
- pipeline: query.pipeline
409
- }
410
- };
411
- }),
412
- { $unwind: '$bucket_parameters' },
413
- { $limit: limit + 1 }
414
- ];
415
- const rows = await firstQuery.collection
416
- .aggregate(pipeline, {
417
- session,
418
- readConcern: 'snapshot',
419
- maxTimeMS: lib_mongo.db.MONGO_OPERATION_TIMEOUT_MS
420
- })
421
- .toArray()
422
- .catch((e) => {
423
- throw lib_mongo.mapQueryError(e, 'while evaluating parameter queries');
424
- });
425
436
  if (rows.length > limit) {
426
437
  throw new ParameterSetLimitExceededError(limit);
427
438
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MongoSyncBucketStorageV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoSyncBucketStorageV3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MongoSyncBucketStorageV3.js","sourceRoot":"","sources":["../../../../src/storage/implementation/v3/MongoSyncBucketStorageV3.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,59 @@
1
1
  import { mongo } from '@powersync/lib-service-mongodb';
2
2
  import { BucketDefinitionMapping, InternalOpId, storage } from '@powersync/service-core';
3
- import { BucketDataSource, BucketDefinitionId } from '@powersync/service-sync-rules';
4
3
  import * as bson from 'bson';
5
- import { PersistedBatch, PersistedBatchOptions, SaveParameterDataOptions, UpsertCurrentDataOptions } from '../common/PersistedBatch.js';
4
+ import { PersistedBatch, PersistedBatchOptions, SaveBucketDataOptions, SaveParameterDataOptions, UpsertCurrentDataOptions } from '../common/PersistedBatch.js';
5
+ import { PreparedPublication } from '../common/PreparedPublication.js';
6
6
  import { MongoWriteBatch } from '../MongoWriteBatch.js';
7
- import { CurrentDataDocumentV3 } from './models.js';
8
- import { ObjectStorageLifecycle } from './object-storage/ObjectStorageLifecycle.js';
9
- import { ObjectStorageUsage } from './object-storage/ObjectStorageUsage.js';
7
+ import { ObjectStorage } from './object-storage/ObjectStorage.js';
10
8
  import { VersionedPowerSyncMongoV3 } from './VersionedPowerSyncMongoV3.js';
11
- interface SourceRecordWrite {
12
- sourceTableId: bson.ObjectId;
13
- operation: mongo.AnyBulkWriteOperation<CurrentDataDocumentV3>;
9
+ export declare const DEFAULT_INLINE_THRESHOLD_BYTES: number;
10
+ export interface PersistedBatchV3Options extends PersistedBatchOptions {
11
+ objectStorage?: ObjectStorage;
12
+ inlineThresholdBytes?: number;
13
+ /**
14
+ * Aborts in-flight object storage uploads when replication stops.
15
+ */
16
+ signal?: AbortSignal;
17
+ objectStorageUsageWriterId?: string;
14
18
  }
15
- export declare class PersistedBatchV3 extends PersistedBatch {
16
- currentData: Map<string, SourceRecordWrite>;
17
- sourceTablePendingDeletes: Map<string, bigint>;
18
- protected readonly objectStorageLifecycle?: ObjectStorageLifecycle;
19
- protected readonly objectStorageUsage?: ObjectStorageUsage;
20
- protected readonly db: VersionedPowerSyncMongoV3;
21
- constructor(db: VersionedPowerSyncMongoV3, group_id: number, mapping: BucketDefinitionMapping, writtenSize: number, options?: PersistedBatchOptions);
22
- protected checkDefinitionId(definitionId: BucketDefinitionId | null): BucketDefinitionId;
23
- protected getBucketDefinitionId(bucketSource: BucketDataSource): BucketDefinitionId;
19
+ export declare class PersistedBatchV3 implements PersistedBatch, PreparedPublication {
20
+ private readonly db;
21
+ private readonly group_id;
22
+ private readonly mapping;
23
+ private readonly currentData;
24
+ private readonly sourceTablePendingDeletes;
25
+ private readonly objectStorageLifecycle?;
26
+ private readonly objectStorageUsage?;
27
+ private readonly operations;
28
+ private readonly inlineThresholdBytes;
29
+ private readonly signal?;
30
+ private sealed;
31
+ private preparation?;
32
+ private payloadsReady;
33
+ constructor(db: VersionedPowerSyncMongoV3, group_id: number, mapping: BucketDefinitionMapping, writtenSize: number, options?: PersistedBatchV3Options);
34
+ get currentSize(): number;
35
+ saveBucketData(options: SaveBucketDataOptions): void;
36
+ shouldFlushTransaction(): boolean;
37
+ append(row: PersistedBatchV3): void;
38
+ /** Return the sealed view of this batch without starting I/O or moving its data. */
39
+ seal(): PreparedPublication;
40
+ private assertMutable;
41
+ /** Cache readiness, including failure; the v3 batch owns the entire lifecycle. */
42
+ preparePayloads(): Promise<void>;
43
+ publish(session: mongo.ClientSession, options?: storage.BucketBatchCommitOptions, additionalWrites?: MongoWriteBatch): Promise<import("../common/PreparedPublication.js").PublicationStats>;
44
+ private write;
24
45
  saveParameterData(data: SaveParameterDataOptions): void;
25
46
  hardDeleteCurrentData(sourceTableId: bson.ObjectId, replicaId: storage.ReplicaId): void;
26
47
  softDeleteCurrentData(sourceTableId: bson.ObjectId, replicaId: storage.ReplicaId, checkpointGreaterThan: InternalOpId): void;
27
48
  upsertCurrentData(values: UpsertCurrentDataOptions): void;
28
- protected get currentDataCount(): number;
29
- protected queueBucketData(writes: MongoWriteBatch): Promise<void>;
30
- protected queueBucketParameters(writes: MongoWriteBatch): void;
31
- protected queueCurrentData(writes: MongoWriteBatch): void;
32
- protected queueBucketStates(writes: MongoWriteBatch): void;
33
- protected resetCurrentData(): void;
49
+ private preparedBucketWrites?;
50
+ private readonly preparedUsageDeltas;
51
+ private preparedUploads;
52
+ private preparePayloadsImpl;
53
+ private queueBucketData;
54
+ private queueBucketParameters;
55
+ private queueCurrentData;
56
+ private queueBucketStates;
34
57
  private currentDataKey;
35
58
  private getBucketStateUpdates;
36
59
  }
37
- export {};