@powersync/service-module-mongodb 0.0.0-dev-20260203155513 → 0.0.0-dev-20260223080959
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 +51 -8
- package/dist/api/MongoRouteAPIAdapter.d.ts +1 -1
- package/dist/api/MongoRouteAPIAdapter.js.map +1 -1
- package/dist/types/types.d.ts +7 -7
- package/dist/types/types.js +1 -1
- package/dist/types/types.js.map +1 -1
- package/package.json +9 -9
- package/src/api/MongoRouteAPIAdapter.ts +1 -1
- package/src/types/types.ts +1 -1
- package/test/src/change_stream.test.ts +24 -18
- package/test/src/change_stream_utils.ts +47 -12
- package/test/src/chunked_snapshot.test.ts +8 -4
- package/test/src/mongo_test.test.ts +3 -3
- package/test/src/resume.test.ts +8 -5
- package/test/src/resuming_snapshots.test.ts +9 -5
- package/test/src/slow_tests.test.ts +8 -6
- package/test/src/util.ts +34 -9
- package/test/tsconfig.json +3 -7
- package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,49 @@
|
|
|
1
1
|
# @powersync/service-module-mongodb
|
|
2
2
|
|
|
3
|
-
## 0.0.0-dev-
|
|
3
|
+
## 0.0.0-dev-20260223080959
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 8a4c34e: Refactor `BucketStorageFactory` and `PersistedSyncRulesContent` to be abstract classes instead of interfaces.
|
|
8
|
+
- 8bd83e8: Introduce storage versions.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [0998251]
|
|
13
|
+
- Updated dependencies [1c45667]
|
|
14
|
+
- Updated dependencies [8a4c34e]
|
|
15
|
+
- Updated dependencies [8bd83e8]
|
|
16
|
+
- @powersync/service-core@0.0.0-dev-20260223080959
|
|
17
|
+
- @powersync/service-types@0.0.0-dev-20260223080959
|
|
18
|
+
- @powersync/service-sync-rules@0.0.0-dev-20260223080959
|
|
19
|
+
- @powersync/lib-services-framework@0.0.0-dev-20260223080959
|
|
20
|
+
- @powersync/lib-service-mongodb@0.0.0-dev-20260223080959
|
|
21
|
+
|
|
22
|
+
## 0.13.2
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Updated dependencies [a04252d]
|
|
27
|
+
- @powersync/service-sync-rules@0.31.1
|
|
28
|
+
- @powersync/lib-services-framework@0.8.2
|
|
29
|
+
- @powersync/service-core@1.19.2
|
|
30
|
+
- @powersync/lib-service-mongodb@0.6.19
|
|
31
|
+
|
|
32
|
+
## 0.13.1
|
|
33
|
+
|
|
34
|
+
### Patch Changes
|
|
35
|
+
|
|
36
|
+
- 479997b: Introduce `BaseSyncConfig` to represent SQL-based sync rules and precompiled sync plans.
|
|
37
|
+
- Updated dependencies [0e99ce0]
|
|
38
|
+
- Updated dependencies [479997b]
|
|
39
|
+
- Updated dependencies [d1c2228]
|
|
40
|
+
- Updated dependencies [1a1a4cc]
|
|
41
|
+
- @powersync/service-sync-rules@0.31.0
|
|
42
|
+
- @powersync/service-core@1.19.1
|
|
43
|
+
- @powersync/lib-services-framework@0.8.1
|
|
44
|
+
- @powersync/lib-service-mongodb@0.6.18
|
|
45
|
+
|
|
46
|
+
## 0.13.0
|
|
4
47
|
|
|
5
48
|
### Minor Changes
|
|
6
49
|
|
|
@@ -8,19 +51,19 @@
|
|
|
8
51
|
|
|
9
52
|
### Patch Changes
|
|
10
53
|
|
|
54
|
+
- Updated dependencies [5d683cd]
|
|
11
55
|
- Updated dependencies [05b9661]
|
|
12
56
|
- Updated dependencies [eaa04cc]
|
|
13
57
|
- Updated dependencies [781d0e3]
|
|
14
58
|
- Updated dependencies [e578245]
|
|
15
59
|
- Updated dependencies [3040079]
|
|
16
|
-
- Updated dependencies [
|
|
17
|
-
- Updated dependencies [3207fd2]
|
|
60
|
+
- Updated dependencies [3b2c512]
|
|
18
61
|
- Updated dependencies [a02cc58]
|
|
19
|
-
- @powersync/service-
|
|
20
|
-
- @powersync/service-
|
|
21
|
-
- @powersync/service-
|
|
22
|
-
- @powersync/lib-services-framework@0.
|
|
23
|
-
- @powersync/
|
|
62
|
+
- @powersync/lib-service-mongodb@0.6.17
|
|
63
|
+
- @powersync/service-core@1.19.0
|
|
64
|
+
- @powersync/service-sync-rules@0.30.0
|
|
65
|
+
- @powersync/lib-services-framework@0.8.0
|
|
66
|
+
- @powersync/service-types@0.14.0
|
|
24
67
|
|
|
25
68
|
## 0.12.16
|
|
26
69
|
|
|
@@ -16,7 +16,7 @@ export declare class MongoRouteAPIAdapter implements api.RouteAPI {
|
|
|
16
16
|
getSourceConfig(): Promise<service_types.configFile.ResolvedDataSourceConfig>;
|
|
17
17
|
getConnectionStatus(): Promise<service_types.ConnectionStatusV2>;
|
|
18
18
|
executeQuery(query: string, params: any[]): Promise<service_types.internal_routes.ExecuteSqlResponse>;
|
|
19
|
-
getDebugTablesInfo(tablePatterns: sync_rules.TablePattern[], sqlSyncRules: sync_rules.
|
|
19
|
+
getDebugTablesInfo(tablePatterns: sync_rules.TablePattern[], sqlSyncRules: sync_rules.SyncConfig): Promise<api.PatternResult[]>;
|
|
20
20
|
getReplicationLagBytes(options: api.ReplicationLagOptions): Promise<number | undefined>;
|
|
21
21
|
createReplicationHead<T>(callback: ReplicationHeadCallback<T>): Promise<T>;
|
|
22
22
|
getConnectionSchema(): Promise<service_types.DatabaseSchema[]>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoRouteAPIAdapter.js","sourceRoot":"","sources":["../../src/api/MongoRouteAPIAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MongoRouteAPIAdapter.js","sourceRoot":"","sources":["../../src/api/MongoRouteAPIAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -44,29 +44,29 @@ export interface NormalizedMongoConnectionConfig {
|
|
|
44
44
|
postImages: PostImagesOption;
|
|
45
45
|
}
|
|
46
46
|
export declare const MongoConnectionConfig: t.Intersection<t.Codec<{
|
|
47
|
+
type: string;
|
|
48
|
+
id?: string | undefined;
|
|
49
|
+
tag?: string | undefined;
|
|
50
|
+
debug_api?: boolean | undefined;
|
|
51
|
+
} & {
|
|
47
52
|
uri: string;
|
|
48
53
|
type: "mongodb";
|
|
49
54
|
database?: string | undefined;
|
|
50
55
|
username?: string | undefined;
|
|
51
56
|
password?: string | undefined;
|
|
52
57
|
reject_ip_ranges?: string[] | undefined;
|
|
53
|
-
}
|
|
58
|
+
}, {
|
|
54
59
|
type: string;
|
|
55
60
|
id?: string | undefined;
|
|
56
61
|
tag?: string | undefined;
|
|
57
62
|
debug_api?: boolean | undefined;
|
|
58
|
-
}
|
|
63
|
+
} & {
|
|
59
64
|
uri: string;
|
|
60
65
|
type: "mongodb";
|
|
61
66
|
database?: string | undefined;
|
|
62
67
|
username?: string | undefined;
|
|
63
68
|
password?: string | undefined;
|
|
64
69
|
reject_ip_ranges?: string[] | undefined;
|
|
65
|
-
} & {
|
|
66
|
-
type: string;
|
|
67
|
-
id?: string | undefined;
|
|
68
|
-
tag?: string | undefined;
|
|
69
|
-
debug_api?: boolean | undefined;
|
|
70
70
|
}, string, t.CodecProps>, t.ObjectCodec<{
|
|
71
71
|
post_images: t.OptionalCodec<t.Codec<"off" | "auto_configure" | "read_only", "off" | "auto_configure" | "read_only", string, t.CodecProps>>;
|
|
72
72
|
}>>;
|
package/dist/types/types.js
CHANGED
|
@@ -35,7 +35,7 @@ export var PostImagesOption;
|
|
|
35
35
|
*/
|
|
36
36
|
PostImagesOption["READ_ONLY"] = "read_only";
|
|
37
37
|
})(PostImagesOption || (PostImagesOption = {}));
|
|
38
|
-
export const MongoConnectionConfig =
|
|
38
|
+
export const MongoConnectionConfig = service_types.configFile.DataSourceConfig.and(lib_mongo.BaseMongoConfig).and(t.object({
|
|
39
39
|
// Replication specific settings
|
|
40
40
|
post_images: t.literal('off').or(t.literal('auto_configure')).or(t.literal('read_only')).optional()
|
|
41
41
|
}));
|
package/dist/types/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAN,IAAY,gBAkCX;AAlCD,WAAY,gBAAgB;IAC1B;;;;;;;OAOG;IACH,+BAAW,CAAA;IAEX;;;;;;;OAOG;IACH,qDAAiC,CAAA;IAEjC;;;;;;;;;;;OAWG;IACH,2CAAuB,CAAA;AACzB,CAAC,EAlCW,gBAAgB,KAAhB,gBAAgB,QAkC3B;AAiBD,MAAM,CAAC,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,sCAAsC,CAAC;AAClE,OAAO,KAAK,aAAa,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAE9B,MAAM,CAAN,IAAY,gBAkCX;AAlCD,WAAY,gBAAgB;IAC1B;;;;;;;OAOG;IACH,+BAAW,CAAA;IAEX;;;;;;;OAOG;IACH,qDAAiC,CAAA;IAEjC;;;;;;;;;;;OAWG;IACH,2CAAuB,CAAA;AACzB,CAAC,EAlCW,gBAAgB,KAAhB,gBAAgB,QAkC3B;AAiBD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,GAAG,CAC/G,CAAC,CAAC,MAAM,CAAC;IACP,gCAAgC;IAChC,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE;CACpG,CAAC,CACH,CAAC;AAaF;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAqC;IAC7E,MAAM,IAAI,GAAG,SAAS,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAErD,OAAO;QACL,GAAG,IAAI;QACP,EAAE,EAAE,OAAO,CAAC,EAAE,IAAI,SAAS;QAC3B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,SAAS;QAC7B,UAAU,EAAG,OAAO,CAAC,WAA4C,IAAI,gBAAgB,CAAC,GAAG;KAC1F,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@powersync/service-module-mongodb",
|
|
3
3
|
"repository": "https://github.com/powersync-ja/powersync-service",
|
|
4
4
|
"types": "dist/index.d.ts",
|
|
5
|
-
"version": "0.0.0-dev-
|
|
5
|
+
"version": "0.0.0-dev-20260223080959",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"license": "FSL-1.1-ALv2",
|
|
8
8
|
"type": "module",
|
|
@@ -25,17 +25,17 @@
|
|
|
25
25
|
"bson": "^6.10.4",
|
|
26
26
|
"ts-codec": "^1.3.0",
|
|
27
27
|
"uuid": "^11.1.0",
|
|
28
|
-
"@powersync/lib-service-mongodb": "0.0.0-dev-
|
|
29
|
-
"@powersync/lib-services-framework": "0.0.0-dev-
|
|
30
|
-
"@powersync/service-core": "0.0.0-dev-
|
|
28
|
+
"@powersync/lib-service-mongodb": "0.0.0-dev-20260223080959",
|
|
29
|
+
"@powersync/lib-services-framework": "0.0.0-dev-20260223080959",
|
|
30
|
+
"@powersync/service-core": "0.0.0-dev-20260223080959",
|
|
31
31
|
"@powersync/service-jsonbig": "0.17.12",
|
|
32
|
-
"@powersync/service-sync-rules": "0.0.0-dev-
|
|
33
|
-
"@powersync/service-types": "0.0.0-dev-
|
|
32
|
+
"@powersync/service-sync-rules": "0.0.0-dev-20260223080959",
|
|
33
|
+
"@powersync/service-types": "0.0.0-dev-20260223080959"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
|
-
"@powersync/service-core-tests": "0.0.0-dev-
|
|
37
|
-
"@powersync/service-module-mongodb-storage": "0.0.0-dev-
|
|
38
|
-
"@powersync/service-module-postgres-storage": "0.0.0-dev-
|
|
36
|
+
"@powersync/service-core-tests": "0.0.0-dev-20260223080959",
|
|
37
|
+
"@powersync/service-module-mongodb-storage": "0.0.0-dev-20260223080959",
|
|
38
|
+
"@powersync/service-module-postgres-storage": "0.0.0-dev-20260223080959"
|
|
39
39
|
},
|
|
40
40
|
"scripts": {
|
|
41
41
|
"build": "tsc -b",
|
|
@@ -81,7 +81,7 @@ export class MongoRouteAPIAdapter implements api.RouteAPI {
|
|
|
81
81
|
|
|
82
82
|
async getDebugTablesInfo(
|
|
83
83
|
tablePatterns: sync_rules.TablePattern[],
|
|
84
|
-
sqlSyncRules: sync_rules.
|
|
84
|
+
sqlSyncRules: sync_rules.SyncConfig
|
|
85
85
|
): Promise<api.PatternResult[]> {
|
|
86
86
|
let result: api.PatternResult[] = [];
|
|
87
87
|
|
package/src/types/types.ts
CHANGED
|
@@ -54,7 +54,7 @@ export interface NormalizedMongoConnectionConfig {
|
|
|
54
54
|
postImages: PostImagesOption;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
export const MongoConnectionConfig =
|
|
57
|
+
export const MongoConnectionConfig = service_types.configFile.DataSourceConfig.and(lib_mongo.BaseMongoConfig).and(
|
|
58
58
|
t.object({
|
|
59
59
|
// Replication specific settings
|
|
60
60
|
post_images: t.literal('off').or(t.literal('auto_configure')).or(t.literal('read_only')).optional()
|
|
@@ -3,12 +3,11 @@ import { setTimeout } from 'node:timers/promises';
|
|
|
3
3
|
import { describe, expect, test, vi } from 'vitest';
|
|
4
4
|
|
|
5
5
|
import { mongo } from '@powersync/lib-service-mongodb';
|
|
6
|
-
import { storage } from '@powersync/service-core';
|
|
7
6
|
import { test_utils } from '@powersync/service-core-tests';
|
|
8
7
|
|
|
9
8
|
import { PostImagesOption } from '@module/types/types.js';
|
|
10
9
|
import { ChangeStreamTestContext } from './change_stream_utils.js';
|
|
11
|
-
import { describeWithStorage } from './util.js';
|
|
10
|
+
import { describeWithStorage, StorageVersionTestContext } from './util.js';
|
|
12
11
|
|
|
13
12
|
const BASIC_SYNC_RULES = `
|
|
14
13
|
bucket_definitions:
|
|
@@ -21,9 +20,12 @@ describe('change stream', () => {
|
|
|
21
20
|
describeWithStorage({ timeout: 20_000 }, defineChangeStreamTests);
|
|
22
21
|
});
|
|
23
22
|
|
|
24
|
-
function defineChangeStreamTests(factory:
|
|
23
|
+
function defineChangeStreamTests({ factory, storageVersion }: StorageVersionTestContext) {
|
|
24
|
+
const openContext = (options?: Parameters<typeof ChangeStreamTestContext.open>[1]) => {
|
|
25
|
+
return ChangeStreamTestContext.open(factory, { ...options, storageVersion });
|
|
26
|
+
};
|
|
25
27
|
test('replicating basic values', async () => {
|
|
26
|
-
await using context = await
|
|
28
|
+
await using context = await openContext({
|
|
27
29
|
mongoOptions: { postImages: PostImagesOption.READ_ONLY }
|
|
28
30
|
});
|
|
29
31
|
const { db } = context;
|
|
@@ -59,7 +61,7 @@ bucket_definitions:
|
|
|
59
61
|
});
|
|
60
62
|
|
|
61
63
|
test('replicating wildcard', async () => {
|
|
62
|
-
await using context = await
|
|
64
|
+
await using context = await openContext();
|
|
63
65
|
const { db } = context;
|
|
64
66
|
await context.updateSyncRules(`
|
|
65
67
|
bucket_definitions:
|
|
@@ -91,7 +93,7 @@ bucket_definitions:
|
|
|
91
93
|
});
|
|
92
94
|
|
|
93
95
|
test('updateLookup - no fullDocument available', async () => {
|
|
94
|
-
await using context = await
|
|
96
|
+
await using context = await openContext({
|
|
95
97
|
mongoOptions: { postImages: PostImagesOption.OFF }
|
|
96
98
|
});
|
|
97
99
|
const { db, client } = context;
|
|
@@ -137,7 +139,7 @@ bucket_definitions:
|
|
|
137
139
|
test('postImages - autoConfigure', async () => {
|
|
138
140
|
// Similar to the above test, but with postImages enabled.
|
|
139
141
|
// This resolves the consistency issue.
|
|
140
|
-
await using context = await
|
|
142
|
+
await using context = await openContext({
|
|
141
143
|
mongoOptions: { postImages: PostImagesOption.AUTO_CONFIGURE }
|
|
142
144
|
});
|
|
143
145
|
const { db, client } = context;
|
|
@@ -185,7 +187,7 @@ bucket_definitions:
|
|
|
185
187
|
test('postImages - on', async () => {
|
|
186
188
|
// Similar to postImages - autoConfigure, but does not auto-configure.
|
|
187
189
|
// changeStreamPreAndPostImages must be manually configured.
|
|
188
|
-
await using context = await
|
|
190
|
+
await using context = await openContext({
|
|
189
191
|
mongoOptions: { postImages: PostImagesOption.READ_ONLY }
|
|
190
192
|
});
|
|
191
193
|
const { db, client } = context;
|
|
@@ -230,7 +232,7 @@ bucket_definitions:
|
|
|
230
232
|
});
|
|
231
233
|
|
|
232
234
|
test('replicating case sensitive table', async () => {
|
|
233
|
-
await using context = await
|
|
235
|
+
await using context = await openContext();
|
|
234
236
|
const { db } = context;
|
|
235
237
|
await context.updateSyncRules(`
|
|
236
238
|
bucket_definitions:
|
|
@@ -254,7 +256,7 @@ bucket_definitions:
|
|
|
254
256
|
});
|
|
255
257
|
|
|
256
258
|
test('replicating large values', async () => {
|
|
257
|
-
await using context = await
|
|
259
|
+
await using context = await openContext();
|
|
258
260
|
const { db } = context;
|
|
259
261
|
await context.updateSyncRules(`
|
|
260
262
|
bucket_definitions:
|
|
@@ -285,7 +287,7 @@ bucket_definitions:
|
|
|
285
287
|
});
|
|
286
288
|
|
|
287
289
|
test('replicating dropCollection', async () => {
|
|
288
|
-
await using context = await
|
|
290
|
+
await using context = await openContext();
|
|
289
291
|
const { db } = context;
|
|
290
292
|
const syncRuleContent = `
|
|
291
293
|
bucket_definitions:
|
|
@@ -307,6 +309,8 @@ bucket_definitions:
|
|
|
307
309
|
await collection.drop();
|
|
308
310
|
|
|
309
311
|
const data = await context.getBucketData('global[]');
|
|
312
|
+
const reduced = test_utils.reduceBucket(data).slice(1);
|
|
313
|
+
expect(reduced).toEqual([]);
|
|
310
314
|
|
|
311
315
|
expect(data).toMatchObject([
|
|
312
316
|
test_utils.putOp('test_data', { id: test_id, description: 'test1' }),
|
|
@@ -315,7 +319,7 @@ bucket_definitions:
|
|
|
315
319
|
});
|
|
316
320
|
|
|
317
321
|
test('replicating renameCollection', async () => {
|
|
318
|
-
await using context = await
|
|
322
|
+
await using context = await openContext();
|
|
319
323
|
const { db } = context;
|
|
320
324
|
const syncRuleContent = `
|
|
321
325
|
bucket_definitions:
|
|
@@ -335,6 +339,8 @@ bucket_definitions:
|
|
|
335
339
|
await collection.rename('test_data2');
|
|
336
340
|
|
|
337
341
|
const data = await context.getBucketData('global[]');
|
|
342
|
+
const reduced = test_utils.reduceBucket(data).slice(1);
|
|
343
|
+
expect(reduced).toMatchObject([test_utils.putOp('test_data2', { id: test_id, description: 'test1' })]);
|
|
338
344
|
|
|
339
345
|
expect(data).toMatchObject([
|
|
340
346
|
test_utils.putOp('test_data1', { id: test_id, description: 'test1' }),
|
|
@@ -344,7 +350,7 @@ bucket_definitions:
|
|
|
344
350
|
});
|
|
345
351
|
|
|
346
352
|
test('initial sync', async () => {
|
|
347
|
-
await using context = await
|
|
353
|
+
await using context = await openContext();
|
|
348
354
|
const { db } = context;
|
|
349
355
|
await context.updateSyncRules(BASIC_SYNC_RULES);
|
|
350
356
|
|
|
@@ -369,7 +375,7 @@ bucket_definitions:
|
|
|
369
375
|
// MongoServerError: PlanExecutor error during aggregation :: caused by :: BSONObj size: 33554925 (0x20001ED) is invalid.
|
|
370
376
|
// Size must be between 0 and 16793600(16MB)
|
|
371
377
|
|
|
372
|
-
await using context = await
|
|
378
|
+
await using context = await openContext();
|
|
373
379
|
await context.updateSyncRules(`bucket_definitions:
|
|
374
380
|
global:
|
|
375
381
|
data:
|
|
@@ -418,7 +424,7 @@ bucket_definitions:
|
|
|
418
424
|
});
|
|
419
425
|
|
|
420
426
|
test('collection not in sync rules', async () => {
|
|
421
|
-
await using context = await
|
|
427
|
+
await using context = await openContext();
|
|
422
428
|
const { db } = context;
|
|
423
429
|
await context.updateSyncRules(BASIC_SYNC_RULES);
|
|
424
430
|
|
|
@@ -435,7 +441,7 @@ bucket_definitions:
|
|
|
435
441
|
});
|
|
436
442
|
|
|
437
443
|
test('postImages - new collection with postImages enabled', async () => {
|
|
438
|
-
await using context = await
|
|
444
|
+
await using context = await openContext({
|
|
439
445
|
mongoOptions: { postImages: PostImagesOption.AUTO_CONFIGURE }
|
|
440
446
|
});
|
|
441
447
|
const { db } = context;
|
|
@@ -468,7 +474,7 @@ bucket_definitions:
|
|
|
468
474
|
});
|
|
469
475
|
|
|
470
476
|
test('postImages - new collection with postImages disabled', async () => {
|
|
471
|
-
await using context = await
|
|
477
|
+
await using context = await openContext({
|
|
472
478
|
mongoOptions: { postImages: PostImagesOption.AUTO_CONFIGURE }
|
|
473
479
|
});
|
|
474
480
|
const { db } = context;
|
|
@@ -498,7 +504,7 @@ bucket_definitions:
|
|
|
498
504
|
});
|
|
499
505
|
|
|
500
506
|
test('recover from error', async () => {
|
|
501
|
-
await using context = await
|
|
507
|
+
await using context = await openContext();
|
|
502
508
|
const { db } = context;
|
|
503
509
|
await context.updateSyncRules(`
|
|
504
510
|
bucket_definitions:
|
|
@@ -4,11 +4,15 @@ import {
|
|
|
4
4
|
createCoreReplicationMetrics,
|
|
5
5
|
initializeCoreReplicationMetrics,
|
|
6
6
|
InternalOpId,
|
|
7
|
+
LEGACY_STORAGE_VERSION,
|
|
7
8
|
OplogEntry,
|
|
8
9
|
ProtocolOpId,
|
|
9
10
|
ReplicationCheckpoint,
|
|
11
|
+
STORAGE_VERSION_CONFIG,
|
|
10
12
|
SyncRulesBucketStorage,
|
|
11
|
-
TestStorageOptions
|
|
13
|
+
TestStorageOptions,
|
|
14
|
+
updateSyncRulesFromYaml,
|
|
15
|
+
utils
|
|
12
16
|
} from '@powersync/service-core';
|
|
13
17
|
import { METRICS_HELPER, test_utils } from '@powersync/service-core-tests';
|
|
14
18
|
|
|
@@ -23,6 +27,7 @@ export class ChangeStreamTestContext {
|
|
|
23
27
|
private _walStream?: ChangeStream;
|
|
24
28
|
private abortController = new AbortController();
|
|
25
29
|
private streamPromise?: Promise<void>;
|
|
30
|
+
private syncRulesId?: number;
|
|
26
31
|
public storage?: SyncRulesBucketStorage;
|
|
27
32
|
|
|
28
33
|
/**
|
|
@@ -35,6 +40,7 @@ export class ChangeStreamTestContext {
|
|
|
35
40
|
factory: (options: TestStorageOptions) => Promise<BucketStorageFactory>,
|
|
36
41
|
options?: {
|
|
37
42
|
doNotClear?: boolean;
|
|
43
|
+
storageVersion?: number;
|
|
38
44
|
mongoOptions?: Partial<NormalizedMongoConnectionConfig>;
|
|
39
45
|
streamOptions?: Partial<ChangeStreamOptions>;
|
|
40
46
|
}
|
|
@@ -45,13 +51,19 @@ export class ChangeStreamTestContext {
|
|
|
45
51
|
if (!options?.doNotClear) {
|
|
46
52
|
await clearTestDb(connectionManager.db);
|
|
47
53
|
}
|
|
48
|
-
|
|
54
|
+
|
|
55
|
+
const storageVersion = options?.storageVersion ?? LEGACY_STORAGE_VERSION;
|
|
56
|
+
const versionedBuckets = STORAGE_VERSION_CONFIG[storageVersion]?.versionedBuckets ?? false;
|
|
57
|
+
|
|
58
|
+
return new ChangeStreamTestContext(f, connectionManager, options?.streamOptions, storageVersion, versionedBuckets);
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
constructor(
|
|
52
62
|
public factory: BucketStorageFactory,
|
|
53
63
|
public connectionManager: MongoManager,
|
|
54
|
-
private streamOptions
|
|
64
|
+
private streamOptions: Partial<ChangeStreamOptions> = {},
|
|
65
|
+
private storageVersion: number = LEGACY_STORAGE_VERSION,
|
|
66
|
+
private versionedBuckets: boolean = STORAGE_VERSION_CONFIG[storageVersion]?.versionedBuckets ?? false
|
|
55
67
|
) {
|
|
56
68
|
createCoreReplicationMetrics(METRICS_HELPER.metricsEngine);
|
|
57
69
|
initializeCoreReplicationMetrics(METRICS_HELPER.metricsEngine);
|
|
@@ -88,7 +100,10 @@ export class ChangeStreamTestContext {
|
|
|
88
100
|
}
|
|
89
101
|
|
|
90
102
|
async updateSyncRules(content: string) {
|
|
91
|
-
const syncRules = await this.factory.updateSyncRules(
|
|
103
|
+
const syncRules = await this.factory.updateSyncRules(
|
|
104
|
+
updateSyncRulesFromYaml(content, { validate: true, storageVersion: this.storageVersion })
|
|
105
|
+
);
|
|
106
|
+
this.syncRulesId = syncRules.id;
|
|
92
107
|
this.storage = this.factory.getInstance(syncRules);
|
|
93
108
|
return this.storage!;
|
|
94
109
|
}
|
|
@@ -99,6 +114,7 @@ export class ChangeStreamTestContext {
|
|
|
99
114
|
throw new Error(`Next sync rules not available`);
|
|
100
115
|
}
|
|
101
116
|
|
|
117
|
+
this.syncRulesId = syncRules.id;
|
|
102
118
|
this.storage = this.factory.getInstance(syncRules);
|
|
103
119
|
return this.storage!;
|
|
104
120
|
}
|
|
@@ -159,9 +175,21 @@ export class ChangeStreamTestContext {
|
|
|
159
175
|
return checkpoint;
|
|
160
176
|
}
|
|
161
177
|
|
|
178
|
+
private resolveBucketName(bucket: string) {
|
|
179
|
+
if (!this.versionedBuckets || /^\d+#/.test(bucket)) {
|
|
180
|
+
return bucket;
|
|
181
|
+
}
|
|
182
|
+
if (this.syncRulesId == null) {
|
|
183
|
+
throw new Error('Sync rules not configured - call updateSyncRules() first');
|
|
184
|
+
}
|
|
185
|
+
return `${this.syncRulesId}#${bucket}`;
|
|
186
|
+
}
|
|
187
|
+
|
|
162
188
|
async getBucketsDataBatch(buckets: Record<string, InternalOpId>, options?: { timeout?: number }) {
|
|
163
189
|
let checkpoint = await this.getCheckpoint(options);
|
|
164
|
-
const map = new Map<string, InternalOpId>(
|
|
190
|
+
const map = new Map<string, InternalOpId>(
|
|
191
|
+
Object.entries(buckets).map(([bucket, opId]) => [this.resolveBucketName(bucket), opId])
|
|
192
|
+
);
|
|
165
193
|
return test_utils.fromAsync(this.storage!.getBucketDataBatch(checkpoint, map));
|
|
166
194
|
}
|
|
167
195
|
|
|
@@ -170,8 +198,9 @@ export class ChangeStreamTestContext {
|
|
|
170
198
|
if (typeof start == 'string') {
|
|
171
199
|
start = BigInt(start);
|
|
172
200
|
}
|
|
201
|
+
const resolvedBucket = this.resolveBucketName(bucket);
|
|
173
202
|
const checkpoint = await this.getCheckpoint(options);
|
|
174
|
-
const map = new Map<string, InternalOpId>([[
|
|
203
|
+
const map = new Map<string, InternalOpId>([[resolvedBucket, start]]);
|
|
175
204
|
let data: OplogEntry[] = [];
|
|
176
205
|
while (true) {
|
|
177
206
|
const batch = this.storage!.getBucketDataBatch(checkpoint, map);
|
|
@@ -181,20 +210,26 @@ export class ChangeStreamTestContext {
|
|
|
181
210
|
if (batches.length == 0 || !batches[0]!.chunkData.has_more) {
|
|
182
211
|
break;
|
|
183
212
|
}
|
|
184
|
-
map.set(
|
|
213
|
+
map.set(resolvedBucket, BigInt(batches[0]!.chunkData.next_after));
|
|
185
214
|
}
|
|
186
215
|
return data;
|
|
187
216
|
}
|
|
188
217
|
|
|
189
|
-
async getChecksums(buckets: string[], options?: { timeout?: number }) {
|
|
218
|
+
async getChecksums(buckets: string[], options?: { timeout?: number }): Promise<utils.ChecksumMap> {
|
|
190
219
|
let checkpoint = await this.getCheckpoint(options);
|
|
191
|
-
|
|
220
|
+
const versionedBuckets = buckets.map((bucket) => this.resolveBucketName(bucket));
|
|
221
|
+
const checksums = await this.storage!.getChecksums(checkpoint, versionedBuckets);
|
|
222
|
+
|
|
223
|
+
const unversioned: utils.ChecksumMap = new Map();
|
|
224
|
+
for (let i = 0; i < buckets.length; i++) {
|
|
225
|
+
unversioned.set(buckets[i], checksums.get(versionedBuckets[i])!);
|
|
226
|
+
}
|
|
227
|
+
return unversioned;
|
|
192
228
|
}
|
|
193
229
|
|
|
194
230
|
async getChecksum(bucket: string, options?: { timeout?: number }) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
return map.get(bucket);
|
|
231
|
+
const checksums = await this.getChecksums([bucket], options);
|
|
232
|
+
return checksums.get(bucket);
|
|
198
233
|
}
|
|
199
234
|
}
|
|
200
235
|
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { mongo } from '@powersync/lib-service-mongodb';
|
|
2
|
-
import { reduceBucket
|
|
2
|
+
import { reduceBucket } from '@powersync/service-core';
|
|
3
3
|
import { METRICS_HELPER } from '@powersync/service-core-tests';
|
|
4
4
|
import { JSONBig } from '@powersync/service-jsonbig';
|
|
5
5
|
import { SqliteJsonValue } from '@powersync/service-sync-rules';
|
|
6
6
|
import * as timers from 'timers/promises';
|
|
7
7
|
import { describe, expect, test } from 'vitest';
|
|
8
8
|
import { ChangeStreamTestContext } from './change_stream_utils.js';
|
|
9
|
-
import { describeWithStorage } from './util.js';
|
|
9
|
+
import { describeWithStorage, StorageVersionTestContext } from './util.js';
|
|
10
10
|
|
|
11
11
|
describe('chunked snapshots', () => {
|
|
12
12
|
describeWithStorage({ timeout: 120_000 }, defineBatchTests);
|
|
13
13
|
});
|
|
14
14
|
|
|
15
|
-
function defineBatchTests(factory:
|
|
15
|
+
function defineBatchTests({ factory, storageVersion }: StorageVersionTestContext) {
|
|
16
|
+
const openContext = (options?: Parameters<typeof ChangeStreamTestContext.open>[1]) => {
|
|
17
|
+
return ChangeStreamTestContext.open(factory, { ...options, storageVersion });
|
|
18
|
+
};
|
|
19
|
+
|
|
16
20
|
// This is not as sensitive to the id type as postgres, but we still test a couple of cases
|
|
17
21
|
test('chunked snapshot (int32)', async () => {
|
|
18
22
|
await testChunkedSnapshot({
|
|
@@ -93,7 +97,7 @@ function defineBatchTests(factory: TestStorageFactory) {
|
|
|
93
97
|
const idToSqlite = options.idToSqlite ?? ((n) => n);
|
|
94
98
|
const idToString = (id: any) => String(idToSqlite(id));
|
|
95
99
|
|
|
96
|
-
await using context = await
|
|
100
|
+
await using context = await openContext({
|
|
97
101
|
// We need to use a smaller chunk size here, so that we can run a query in between chunks
|
|
98
102
|
streamOptions: { snapshotChunkLength: 100 }
|
|
99
103
|
});
|
|
@@ -410,7 +410,7 @@ describe('mongo data types', () => {
|
|
|
410
410
|
await setupTable(db);
|
|
411
411
|
await insert(collection);
|
|
412
412
|
|
|
413
|
-
const rules = SqlSyncRules.fromYaml(
|
|
413
|
+
const { config: rules } = SqlSyncRules.fromYaml(
|
|
414
414
|
`
|
|
415
415
|
bucket_definitions:
|
|
416
416
|
global:
|
|
@@ -457,7 +457,7 @@ bucket_definitions:
|
|
|
457
457
|
await setupTable(db);
|
|
458
458
|
await insert(collection);
|
|
459
459
|
|
|
460
|
-
const rules = SqlSyncRules.fromYaml(
|
|
460
|
+
const { config: rules } = SqlSyncRules.fromYaml(
|
|
461
461
|
`
|
|
462
462
|
bucket_definitions:
|
|
463
463
|
global:
|
|
@@ -505,7 +505,7 @@ bucket_definitions:
|
|
|
505
505
|
await setupTable(db);
|
|
506
506
|
await insert(collection);
|
|
507
507
|
|
|
508
|
-
const rules = SqlSyncRules.fromYaml(
|
|
508
|
+
const { config: rules } = SqlSyncRules.fromYaml(
|
|
509
509
|
`
|
|
510
510
|
bucket_definitions:
|
|
511
511
|
global:
|