@powersync/service-module-mongodb 0.21.1 → 0.21.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"bufferToSqlite.js","sourceRoot":"","sources":["../../src/replication/bufferToSqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bufferToSqlite.js","sourceRoot":"","sources":["../../src/replication/bufferToSqlite.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@powersync/service-module-mongodb",
3
3
  "repository": "https://github.com/powersync-ja/powersync-service",
4
- "version": "0.21.1",
4
+ "version": "0.21.2",
5
5
  "license": "FSL-1.1-ALv2",
6
6
  "type": "module",
7
7
  "publishConfig": {
@@ -15,17 +15,17 @@
15
15
  "bson": "^6.10.4",
16
16
  "ts-codec": "^1.3.0",
17
17
  "uuid": "^14.0.0",
18
- "@powersync/lib-service-mongodb": "0.6.32",
19
- "@powersync/lib-services-framework": "0.10.2",
20
- "@powersync/service-core": "1.26.1",
18
+ "@powersync/lib-service-mongodb": "0.6.33",
19
+ "@powersync/lib-services-framework": "0.10.3",
20
+ "@powersync/service-core": "1.27.0",
21
21
  "@powersync/service-jsonbig": "0.17.13",
22
- "@powersync/service-sync-rules": "0.42.0",
23
- "@powersync/service-types": "0.18.0"
22
+ "@powersync/service-sync-rules": "0.43.0",
23
+ "@powersync/service-types": "0.19.0"
24
24
  },
25
25
  "devDependencies": {
26
- "@powersync/service-core-tests": "0.18.2",
27
- "@powersync/service-module-mongodb-storage": "0.22.0",
28
- "@powersync/service-module-postgres-storage": "0.19.1"
26
+ "@powersync/service-core-tests": "0.18.3",
27
+ "@powersync/service-module-mongodb-storage": "0.23.0",
28
+ "@powersync/service-module-postgres-storage": "0.19.2"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "tsc -b",
@@ -11,7 +11,7 @@ import { MongoManager } from '../replication/MongoManager.js';
11
11
  import { CHECKPOINTS_COLLECTION, detectDocumentDb } from '../replication/replication-utils.js';
12
12
  import * as types from '../types/types.js';
13
13
  import { escapeRegExp } from '../utils.js';
14
- import { inferCollectionSchema } from './infer-collection-schema.js';
14
+ import { inferCollectionSchema, isSchemaInferenceFailure } from './infer-collection-schema.js';
15
15
 
16
16
  const SCHEMA_INFERENCE_CONCURRENCY = 4;
17
17
 
@@ -150,7 +150,7 @@ export class MongoRouteAPIAdapter implements api.RouteAPI {
150
150
  };
151
151
  let errors: service_types.ReplicationError[] = [];
152
152
  if (collection.type == 'view') {
153
- errors.push({ level: 'warning', message: `Collection ${schema}.${tablePattern.name} is a view` });
153
+ errors.push({ level: 'warning', message: `Collection ${schema}.${collection.name} is a view` });
154
154
  } else {
155
155
  errors.push(...validatePostImages(schema, collection));
156
156
  }
@@ -293,6 +293,16 @@ export class MongoRouteAPIAdapter implements api.RouteAPI {
293
293
  // Ignore collections we're not authorized to query
294
294
  continue;
295
295
  }
296
+ if (isSchemaInferenceFailure(e)) {
297
+ // We know the collection is there, we just could not read its fields. Report it
298
+ // without columns rather than failing: one collection we cannot sample should not
299
+ // block validation and deployment for every sync config on the instance. Queries
300
+ // naming its columns warn about unknown columns; the result is indistinguishable
301
+ // from an empty collection, so a `SELECT *` query still validates cleanly.
302
+ logger.warn(`Could not infer the schema of ${db.name}.${collection.name}`, e);
303
+ tables[index] = { name: collection.name, columns: [] };
304
+ continue;
305
+ }
296
306
  // Fail the whole request on unexpected errors: the response cannot indicate
297
307
  // partial results, so omitting a collection would make an incomplete schema
298
308
  // appear complete and could produce an incorrect generated client schema.
@@ -1,7 +1,33 @@
1
+ import * as lib_mongo from '@powersync/lib-service-mongodb';
1
2
  import { mongo } from '@powersync/lib-service-mongodb';
2
3
  import { ExpressionType } from '@powersync/service-sync-rules';
3
4
  import { TableSchema } from '@powersync/service-types';
4
5
 
6
+ /**
7
+ * Server errors that mean this one collection could not be inspected, rather than the
8
+ * connection being unusable.
9
+ *
10
+ * These come from the memory ceiling {@link inferCollectionSchema} imposes on itself by
11
+ * refusing to spill to disk, and are deterministic per collection. Timeouts are
12
+ * deliberately excluded: they usually indicate an overloaded source, where degrading
13
+ * would silently empty the schema of every collection at once.
14
+ */
15
+ const SCHEMA_INFERENCE_FAILURE_CODES = new Set([
16
+ // ExceededMemoryLimit - a blocking stage ran out of memory with disk spill disabled.
17
+ 146,
18
+ // QueryExceededMemoryLimitNoDiskUseAllowed - as above, reported by the sort $sample
19
+ // uses on collections too small for its random cursor.
20
+ 292
21
+ ]);
22
+
23
+ /**
24
+ * Whether the error means we could not determine this collection's fields, as opposed to
25
+ * something that makes the rest of the schema unreliable too.
26
+ */
27
+ export function isSchemaInferenceFailure(e: unknown): boolean {
28
+ return lib_mongo.isMongoServerError(e) && SCHEMA_INFERENCE_FAILURE_CODES.has(e.code as number);
29
+ }
30
+
5
31
  // Match the types exposed after BSON deserialization and conversion to sync rules values.
6
32
  const BSON_TYPES: Record<string, { name: string; sqliteType: ExpressionType }> = {
7
33
  int: { name: 'Integer', sqliteType: ExpressionType.INTEGER },
@@ -44,8 +44,6 @@ export class MongoModule extends replication.ReplicationModule<types.MongoConnec
44
44
  });
45
45
  }
46
46
 
47
- async onInitialized(context: system.ServiceContextContainer): Promise<void> {}
48
-
49
47
  /**
50
48
  * Combines base config with normalized connection settings
51
49
  */
@@ -3,11 +3,14 @@ import { storage } from '@powersync/service-core';
3
3
  import { JsonContainer } from '@powersync/service-jsonbig';
4
4
  import {
5
5
  CompatibilityContext,
6
+ CompatibilityOption,
6
7
  CustomArray,
7
8
  CustomObject,
8
9
  CustomSqliteValue,
9
10
  DateTimeSourceOptions,
10
11
  DateTimeValue,
12
+ SQLITE_FALSE,
13
+ SQLITE_TRUE,
11
14
  SqliteInputRow,
12
15
  SqliteInputValue,
13
16
  TimeValuePrecision
@@ -127,7 +130,11 @@ function filterJsonData(data: any, context: CompatibilityContext, depth = 0): an
127
130
  return data;
128
131
  }
129
132
  } else if (typeof data == 'boolean') {
130
- return data ? 1n : 0n;
133
+ if (context.isEnabled(CompatibilityOption.fixedBooleanInJson)) {
134
+ return data;
135
+ }
136
+
137
+ return data ? SQLITE_TRUE : SQLITE_FALSE;
131
138
  } else if (typeof data == 'bigint') {
132
139
  return data;
133
140
  } else if (data instanceof Date) {
@@ -1,5 +1,5 @@
1
1
  import { mongo } from '@powersync/lib-service-mongodb';
2
- import { applyRowContext, CompatibilityContext, SqliteRow } from '@powersync/service-sync-rules';
2
+ import { applyRowContext, CompatibilityContext, CompatibilityOption, SqliteRow } from '@powersync/service-sync-rules';
3
3
  import { bufferToSqlite, DateRenderMode, getDateRenderMode, parseDocumentId } from './bufferToSqlite.js';
4
4
  import { constructAfterRecord } from './MongoRelation.js';
5
5
 
@@ -46,13 +46,15 @@ export class LegacySourceRowConverter implements SourceRowConverter {
46
46
 
47
47
  export class DirectSourceRowConverter implements SourceRowConverter {
48
48
  private readonly dateRenderMode: DateRenderMode;
49
+ private readonly fixedBooleansInJson: boolean;
49
50
 
50
51
  constructor(compatibilityContext: CompatibilityContext) {
51
52
  this.dateRenderMode = getDateRenderMode(compatibilityContext);
53
+ this.fixedBooleansInJson = compatibilityContext.isEnabled(CompatibilityOption.fixedBooleanInJson);
52
54
  }
53
55
 
54
56
  rawToSqliteRow(source: Buffer): { row: SqliteRow; replicaId: any } {
55
- const row = bufferToSqlite(source, this.dateRenderMode);
57
+ const row = bufferToSqlite(source, this.dateRenderMode, this.fixedBooleansInJson);
56
58
  const replicaId = parseDocumentId(source).id;
57
59
  return { row, replicaId };
58
60
  }
@@ -80,12 +80,16 @@ const SHARED_WRITER = new JsonBufferWriter();
80
80
  *
81
81
  * @param bytes the source BSON bytes
82
82
  * @param dateRenderMode derive using getDateRenderMode(compatibilityContext)
83
+ * @param fixedBooleansInJson whether to serialize booleans in nested JSON as booleans, derived from compatibility
84
+ * context.
83
85
  *
84
86
  * @returns a SqliteRow
85
87
  */
86
- export function bufferToSqlite(bytes: Buffer, dateRenderMode: DateRenderMode): SqliteRow {
88
+ export function bufferToSqlite(bytes: Buffer, dateRenderMode: DateRenderMode, fixedBooleansInJson: boolean): SqliteRow {
87
89
  const row: SqliteRow = {};
88
90
  const jsonWriter = SHARED_WRITER;
91
+ const options: SerializeToJsonOptions = { dateRenderMode, fixedBooleans: fixedBooleansInJson };
92
+
89
93
  // BSON documents are length-prefixed and null-terminated. We parse directly
90
94
  // from raw bytes, so structural validation happens here rather than in the
91
95
  // upstream BSON decoder.
@@ -112,14 +116,14 @@ export function bufferToSqlite(bytes: Buffer, dateRenderMode: DateRenderMode): S
112
116
  }
113
117
  case BSON_TYPE_ARRAY: {
114
118
  jsonWriter.reset();
115
- const result = serializeNestedArrayToJson(bytes, offset, 0, jsonWriter, dateRenderMode);
119
+ const result = serializeNestedArrayToJson(bytes, offset, 0, jsonWriter, options);
116
120
  row[key] = jsonWriter.toString();
117
121
  offset = result.nextOffset;
118
122
  break;
119
123
  }
120
124
  case BSON_TYPE_DOCUMENT: {
121
125
  jsonWriter.reset();
122
- const result = serializeNestedObjectToJson(bytes, offset, 0, jsonWriter, dateRenderMode);
126
+ const result = serializeNestedObjectToJson(bytes, offset, 0, jsonWriter, options);
123
127
  row[key] = jsonWriter.toString();
124
128
  offset = result.nextOffset;
125
129
  break;
@@ -195,7 +199,7 @@ export function bufferToSqlite(bytes: Buffer, dateRenderMode: DateRenderMode): S
195
199
  }
196
200
  case BSON_TYPE_CODE_WITH_SCOPE: {
197
201
  jsonWriter.reset();
198
- const nextOffset = writeCodeWithScopeJson(bytes, offset, 0, jsonWriter, dateRenderMode);
202
+ const nextOffset = writeCodeWithScopeJson(bytes, offset, 0, jsonWriter, options);
199
203
  row[key] = jsonWriter.toString();
200
204
  offset = nextOffset;
201
205
  break;
@@ -437,12 +441,17 @@ function skipBsonValue(bytes: Buffer, offset: number, type: number) {
437
441
  }
438
442
  }
439
443
 
444
+ interface SerializeToJsonOptions {
445
+ dateRenderMode: DateRenderMode;
446
+ fixedBooleans: boolean;
447
+ }
448
+
440
449
  function serializeNestedObjectToJson(
441
450
  bytes: Buffer,
442
451
  offset: number,
443
452
  depth: number,
444
453
  writer: JsonBufferWriter,
445
- dateRenderMode: DateRenderMode
454
+ options: SerializeToJsonOptions
446
455
  ): { nextOffset: number } {
447
456
  if (depth > NESTED_DEPTH_LIMIT) {
448
457
  throw new Error(`json nested object depth exceeds the limit of ${NESTED_DEPTH_LIMIT}`);
@@ -475,7 +484,7 @@ function serializeNestedObjectToJson(
475
484
  type,
476
485
  depth,
477
486
  writer,
478
- dateRenderMode
487
+ options
479
488
  );
480
489
  cursor = afterValue;
481
490
  // Malformed BSON must fail fast instead of getting the parser stuck on the
@@ -499,7 +508,7 @@ function serializeNestedArrayToJson(
499
508
  offset: number,
500
509
  depth: number,
501
510
  writer: JsonBufferWriter,
502
- dateRenderMode: DateRenderMode
511
+ options: SerializeToJsonOptions
503
512
  ): { nextOffset: number } {
504
513
  if (depth > NESTED_DEPTH_LIMIT) {
505
514
  throw new Error(`json nested object depth exceeds the limit of ${NESTED_DEPTH_LIMIT}`);
@@ -527,7 +536,7 @@ function serializeNestedArrayToJson(
527
536
  type,
528
537
  depth,
529
538
  writer,
530
- dateRenderMode
539
+ options
531
540
  );
532
541
  cursor = afterValue;
533
542
  assertAdvanced(previousCursor, cursor);
@@ -547,7 +556,7 @@ function serializeNestedElementValue(
547
556
  type: number,
548
557
  depth: number,
549
558
  writer: JsonBufferWriter,
550
- dateRenderMode: DateRenderMode
559
+ options: SerializeToJsonOptions
551
560
  ): { nextOffset: number; defined: boolean } {
552
561
  switch (type) {
553
562
  case BSON_TYPE_DOUBLE: // Double
@@ -555,9 +564,9 @@ function serializeNestedElementValue(
555
564
  case BSON_TYPE_STRING: // String
556
565
  return serializeNestedStringElement(bytes, offset, writer);
557
566
  case BSON_TYPE_DOCUMENT: // Embedded document
558
- return serializeNestedObjectElement(bytes, offset, depth, writer, dateRenderMode);
567
+ return serializeNestedObjectElement(bytes, offset, depth, writer, options);
559
568
  case BSON_TYPE_ARRAY: // Array
560
- return serializeNestedArrayElement(bytes, offset, depth, writer, dateRenderMode);
569
+ return serializeNestedArrayElement(bytes, offset, depth, writer, options);
561
570
  case BSON_TYPE_BINARY: // Binary
562
571
  return serializeNestedBinaryElement(bytes, offset, writer);
563
572
  case BSON_TYPE_UNDEFINED: // Undefined
@@ -567,11 +576,22 @@ function serializeNestedElementValue(
567
576
  writer.writeQuotedHexLower(bytes, offset, 12);
568
577
  return { nextOffset: offset + 12, defined: true };
569
578
  }
570
- case BSON_TYPE_BOOLEAN: // Boolean
571
- writer.writeByte(bytes[offset] ? BYTE_ONE : BYTE_ZERO);
579
+ case BSON_TYPE_BOOLEAN: {
580
+ // Boolean
581
+ const value = !!bytes[offset];
582
+
583
+ if (options.fixedBooleans) {
584
+ const str = value ? 'true' : 'false';
585
+
586
+ writer.writeAscii(str);
587
+ } else {
588
+ writer.writeByte(value ? BYTE_ONE : BYTE_ZERO);
589
+ }
590
+
572
591
  return { nextOffset: offset + 1, defined: true };
592
+ }
573
593
  case BSON_TYPE_UTC_DATETIME: // UTC datetime
574
- return serializeNestedDateTimeElement(bytes, offset, writer, dateRenderMode);
594
+ return serializeNestedDateTimeElement(bytes, offset, writer, options.dateRenderMode);
575
595
  case BSON_TYPE_NULL: // Null
576
596
  case BSON_TYPE_MIN_KEY: // MinKey
577
597
  case BSON_TYPE_MAX_KEY: // MaxKey
@@ -586,7 +606,7 @@ function serializeNestedElementValue(
586
606
  case BSON_TYPE_SYMBOL: // Symbol
587
607
  return serializeNestedSymbolElement(bytes, offset, writer);
588
608
  case BSON_TYPE_CODE_WITH_SCOPE: // JavaScript code with scope
589
- return serializeNestedCodeWithScopeElement(bytes, offset, depth, writer, dateRenderMode);
609
+ return serializeNestedCodeWithScopeElement(bytes, offset, depth, writer, options);
590
610
  case BSON_TYPE_INT32: {
591
611
  // Int32
592
612
  writer.writeAscii(String(readInt32LE(bytes, offset)));
@@ -641,9 +661,9 @@ function serializeNestedObjectElement(
641
661
  offset: number,
642
662
  depth: number,
643
663
  writer: JsonBufferWriter,
644
- dateRenderMode: DateRenderMode
664
+ options: SerializeToJsonOptions
645
665
  ): { nextOffset: number; defined: boolean } {
646
- const result = serializeNestedObjectToJson(bytes, offset, depth + 1, writer, dateRenderMode);
666
+ const result = serializeNestedObjectToJson(bytes, offset, depth + 1, writer, options);
647
667
  return { nextOffset: result.nextOffset, defined: true };
648
668
  }
649
669
 
@@ -652,9 +672,9 @@ function serializeNestedArrayElement(
652
672
  offset: number,
653
673
  depth: number,
654
674
  writer: JsonBufferWriter,
655
- dateRenderMode: DateRenderMode
675
+ options: SerializeToJsonOptions
656
676
  ): { nextOffset: number; defined: boolean } {
657
- const result = serializeNestedArrayToJson(bytes, offset, depth + 1, writer, dateRenderMode);
677
+ const result = serializeNestedArrayToJson(bytes, offset, depth + 1, writer, options);
658
678
  return { nextOffset: result.nextOffset, defined: true };
659
679
  }
660
680
 
@@ -791,14 +811,14 @@ function writeCodeWithScopeJson(
791
811
  offset: number,
792
812
  depth: number,
793
813
  writer: JsonBufferWriter,
794
- dateRenderMode: DateRenderMode
814
+ options: SerializeToJsonOptions
795
815
  ) {
796
816
  const totalLength = readInt32LE(bytes, offset);
797
817
  const { value: code, nextOffset: afterCode } = readBsonString(bytes, offset + 4);
798
818
  writer.writeAscii('{"code":');
799
819
  writer.writeQuotedJsonString(code);
800
820
  writer.writeAscii(',"scope":');
801
- serializeNestedObjectToJson(bytes, afterCode, depth + 1, writer, dateRenderMode);
821
+ serializeNestedObjectToJson(bytes, afterCode, depth + 1, writer, options);
802
822
  writer.writeByte(BYTE_RBRACE);
803
823
  // code_w_scope carries its own total byte length, so we trust that wrapper
804
824
  // rather than reconstructing the end position from the nested scope.
@@ -885,10 +905,10 @@ function serializeNestedCodeWithScopeElement(
885
905
  offset: number,
886
906
  depth: number,
887
907
  writer: JsonBufferWriter,
888
- dateRenderMode: DateRenderMode
908
+ options: SerializeToJsonOptions
889
909
  ): { nextOffset: number; defined: boolean } {
890
910
  return {
891
- nextOffset: writeCodeWithScopeJson(bytes, offset, depth, writer, dateRenderMode),
911
+ nextOffset: writeCodeWithScopeJson(bytes, offset, depth, writer, options),
892
912
  defined: true
893
913
  };
894
914
  }
@@ -121,6 +121,15 @@ const testCases: ConverterCase[] = [
121
121
  serializableCase('array', [1, 'two', false, null, { deep: 3 }], jsonTextPlacements('[1,"two",0,null,{"deep":3}]')),
122
122
  serializableCase('objectId', objectId, jsonStringPlacements('66e834cc91d805df11fa0ecb')),
123
123
  serializableCase('bool', true, placements(1n, '[1]', '{"nested":1}')),
124
+ {
125
+ name: 'bool (fixed json)',
126
+ buildBuffer: (placement) => serializeCaseDocument(`bool (fixed json):${placement}`, placement, false),
127
+ expected: placements(0n, '[false]', '{"nested":false}'),
128
+ context: new CompatibilityContext({
129
+ edition: CompatibilityEdition.COMPILED_STREAMS,
130
+ overrides: new Map([[CompatibilityOption.fixedBooleanInJson, true]])
131
+ })
132
+ } satisfies ConverterCase,
124
133
  serializableCase('date', normalDate, jsonStringPlacements('2023-03-06 13:47:00.000Z')),
125
134
  serializableCase('date:+010000', positiveExtendedDate, jsonStringPlacements('+010000-01-01 00:00:00.000Z')),
126
135
  serializableCase('date:-000001', negativeExtendedDate, jsonStringPlacements('-000001-12-31 23:59:59.999Z')),
@@ -18,7 +18,7 @@ import {
18
18
  updateSyncRulesFromYaml,
19
19
  utils
20
20
  } from '@powersync/service-core';
21
- import { bucketRequest, METRICS_HELPER, test_utils } from '@powersync/service-core-tests';
21
+ import { bucketRequest, getTestStorage, METRICS_HELPER, test_utils } from '@powersync/service-core-tests';
22
22
 
23
23
  import { SentinelLSN } from '@module/common/SentinelLSN.js';
24
24
  import { ChangeStream, ChangeStreamOptions } from '@module/replication/ChangeStream.js';
@@ -119,7 +119,7 @@ export class ChangeStreamTestContext {
119
119
  updateSyncRulesFromYaml(content, { validate: true, storageVersion: this.storageVersion })
120
120
  );
121
121
  this.syncRulesContent = replicationStream.syncConfigContent[0];
122
- this.storage = this.factory.getInstance(replicationStream);
122
+ this.storage = await getTestStorage(this.factory, replicationStream);
123
123
  return this.storage!;
124
124
  }
125
125
 
@@ -130,7 +130,7 @@ export class ChangeStreamTestContext {
130
130
  }
131
131
 
132
132
  this.syncRulesContent = syncConfig.content;
133
- this.storage = syncConfig.storage;
133
+ this.storage = await getTestStorage(this.factory, syncConfig.replicationStream);
134
134
  return this.storage!;
135
135
  }
136
136
 
@@ -141,7 +141,7 @@ export class ChangeStreamTestContext {
141
141
  }
142
142
 
143
143
  this.syncRulesContent = syncConfig.content;
144
- this.storage = syncConfig.storage;
144
+ this.storage = await getTestStorage(this.factory, syncConfig.replicationStream);
145
145
  return this.storage!;
146
146
  }
147
147
 
@@ -154,27 +154,70 @@ describe('collection schema inference', { timeout: testTimeout(20_000) }, () =>
154
154
  expect(executionLimits).toEqual([30_000]);
155
155
  });
156
156
 
157
- test.skipIf(DATABASE_TYPE == DatabaseType.DOCUMENTDB)('fails schema inference on a query timeout', async (ctx) => {
158
- await db.collection('timeout').insertOne({ value: 'text' });
159
- await using adapter = new MongoRouteAPIAdapter({
160
- type: 'mongodb',
161
- ...TEST_CONNECTION_OPTIONS,
162
- database: db.databaseName
163
- });
164
- await using failCommand = await requireFailCommand(client, ctx);
165
- await failCommand.configure({
166
- mode: { times: 1 },
167
- data: {
168
- failCommands: ['aggregate'],
169
- errorCode: 50 // MaxTimeMSExpired
170
- }
157
+ // A collection we cannot sample should cost us that collection's fields, not the whole schema.
158
+ // Exercises the real server/driver error path without waiting for the limits to be reached.
159
+ describe.skipIf(DATABASE_TYPE == DatabaseType.DOCUMENTDB)('when a collection cannot be sampled', () => {
160
+ // 146 is ExceededMemoryLimit, 292 is QueryExceededMemoryLimitNoDiskUseAllowed, which is what
161
+ // a small collection of multi-megabyte documents produces when $sample has to sort them.
162
+ // The namespace filter below needs a server recent enough to honor it (CI runs 6.0+);
163
+ // older servers ignore it and fail an arbitrary collection's aggregation.
164
+ test.for([146, 292])('reports it without columns on error %i', async (errorCode, ctx) => {
165
+ await db.collection('readable').insertOne({ value: 'text' });
166
+ await db.collection('unreadable').insertOne({ value: 'text' });
167
+ await using adapter = new MongoRouteAPIAdapter({
168
+ type: 'mongodb',
169
+ ...TEST_CONNECTION_OPTIONS,
170
+ database: db.databaseName
171
+ });
172
+ await using failCommand = await requireFailCommand(client, ctx);
173
+ await failCommand.configure({
174
+ mode: { times: 1 },
175
+ data: {
176
+ failCommands: ['aggregate'],
177
+ namespace: `${db.databaseName}.unreadable`,
178
+ errorCode
179
+ }
180
+ });
181
+
182
+ const schema = await adapter.getConnectionSchema();
183
+ const tables = schema.find((s) => s.name == db.databaseName)?.tables;
184
+
185
+ expect(tables).toEqual(
186
+ expect.arrayContaining([
187
+ { name: 'unreadable', columns: [] },
188
+ expect.objectContaining({
189
+ name: 'readable',
190
+ columns: expect.arrayContaining([expect.objectContaining({ name: 'value' })])
191
+ })
192
+ ])
193
+ );
171
194
  });
172
195
 
173
- // Exercise the real server/driver error path without waiting for the full timeout.
174
- await expect(adapter.getConnectionSchema()).rejects.toMatchObject({
175
- name: 'MongoServerError',
176
- code: 50,
177
- codeName: 'MaxTimeMSExpired'
196
+ // 2 is BadValue, standing in for any unexpected error. 50 is MaxTimeMSExpired: timeouts
197
+ // usually mean the source is overloaded rather than one problem collection, so they keep
198
+ // failing the request instead of silently degrading every collection.
199
+ // Neither is retryable, so the driver surfaces them without re-running the aggregation.
200
+ test.for([2, 50])('still fails the request on error %i', async (errorCode, ctx) => {
201
+ await db.collection('broken').insertOne({ value: 'text' });
202
+ await using adapter = new MongoRouteAPIAdapter({
203
+ type: 'mongodb',
204
+ ...TEST_CONNECTION_OPTIONS,
205
+ database: db.databaseName
206
+ });
207
+ await using failCommand = await requireFailCommand(client, ctx);
208
+ await failCommand.configure({
209
+ mode: { times: 1 },
210
+ data: {
211
+ failCommands: ['aggregate'],
212
+ namespace: `${db.databaseName}.broken`,
213
+ errorCode
214
+ }
215
+ });
216
+
217
+ await expect(adapter.getConnectionSchema()).rejects.toMatchObject({
218
+ name: 'MongoServerError',
219
+ code: errorCode
220
+ });
178
221
  });
179
222
  });
180
223
  });