From d8479cd10d9b9cefe9b147c34d5ee2d54756523d Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:14:25 -0400 Subject: [PATCH 1/7] add `serverless: forbid` to spec tests using `clientBulkWrite` --- .../tests/monitoring/unacknowledged-client-bulkWrite.yml | 1 + source/crud/tests/unified/client-bulkWrite-delete-options.yml | 1 + source/crud/tests/unified/client-bulkWrite-errorResponse.yml | 1 + source/crud/tests/unified/client-bulkWrite-errors.yml | 1 + source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml | 1 + source/crud/tests/unified/client-bulkWrite-options.yml | 1 + source/crud/tests/unified/client-bulkWrite-ordered.yml | 1 + source/crud/tests/unified/client-bulkWrite-results.yml | 1 + source/crud/tests/unified/client-bulkWrite-update-options.yml | 1 + source/crud/tests/unified/client-bulkWrite-update-pipeline.yml | 1 + .../tests/etc/templates/handshakeError.yml.template | 2 ++ .../tests/unified/client-bulkWrite-clientErrors.yml | 1 + .../tests/unified/client-bulkWrite-serverErrors.yml | 1 + source/retryable-writes/tests/unified/handshakeError.yml | 2 ++ source/server-selection/tests/logging/operation-id.yml | 2 ++ source/transactions/tests/unified/client-bulkWrite.yml | 1 + source/transactions/tests/unified/mongos-pin-auto-tests.py | 2 ++ source/versioned-api/tests/crud-api-version-1.yml | 1 + 18 files changed, 22 insertions(+) diff --git a/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.yml b/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.yml index fcc6b7b3ec..35b8d556fb 100644 --- a/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.yml +++ b/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.yml @@ -4,6 +4,7 @@ schemaVersion: "1.7" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-delete-options.yml b/source/crud/tests/unified/client-bulkWrite-delete-options.yml index db8b9f46d7..ba2d5831db 100644 --- a/source/crud/tests/unified/client-bulkWrite-delete-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-delete-options.yml @@ -2,6 +2,7 @@ description: "client bulkWrite delete options" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-errorResponse.yml b/source/crud/tests/unified/client-bulkWrite-errorResponse.yml index 45e53171ec..d63010afc7 100644 --- a/source/crud/tests/unified/client-bulkWrite-errorResponse.yml +++ b/source/crud/tests/unified/client-bulkWrite-errorResponse.yml @@ -2,6 +2,7 @@ description: "client bulkWrite errorResponse" schemaVersion: "1.12" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-errors.yml b/source/crud/tests/unified/client-bulkWrite-errors.yml index 3a420f1429..6c513006ce 100644 --- a/source/crud/tests/unified/client-bulkWrite-errors.yml +++ b/source/crud/tests/unified/client-bulkWrite-errors.yml @@ -2,6 +2,7 @@ description: "client bulkWrite errors" schemaVersion: "1.21" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml index 4e4cb01e16..be65e90e66 100644 --- a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml +++ b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml @@ -2,6 +2,7 @@ description: "client bulkWrite with mixed namespaces" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-options.yml b/source/crud/tests/unified/client-bulkWrite-options.yml index fdcf788799..d24fcd7524 100644 --- a/source/crud/tests/unified/client-bulkWrite-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-options.yml @@ -2,6 +2,7 @@ description: "client bulkWrite top-level options" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-ordered.yml b/source/crud/tests/unified/client-bulkWrite-ordered.yml index dc56dcb860..e28eee0895 100644 --- a/source/crud/tests/unified/client-bulkWrite-ordered.yml +++ b/source/crud/tests/unified/client-bulkWrite-ordered.yml @@ -2,6 +2,7 @@ description: "client bulkWrite with ordered option" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-results.yml b/source/crud/tests/unified/client-bulkWrite-results.yml index eb001bbb42..05eb25013d 100644 --- a/source/crud/tests/unified/client-bulkWrite-results.yml +++ b/source/crud/tests/unified/client-bulkWrite-results.yml @@ -2,6 +2,7 @@ description: "client bulkWrite results" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-update-options.yml b/source/crud/tests/unified/client-bulkWrite-update-options.yml index fe188a490c..0968fe4113 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-update-options.yml @@ -2,6 +2,7 @@ description: "client bulkWrite update options" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml b/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml index fe0e29a508..a31899474f 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml +++ b/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml @@ -2,6 +2,7 @@ description: "client bulkWrite update pipeline" schemaVersion: "1.1" runOnRequirements: - minServerVersion: "8.0" + serverless: forbid createEntities: - client: diff --git a/source/retryable-writes/tests/etc/templates/handshakeError.yml.template b/source/retryable-writes/tests/etc/templates/handshakeError.yml.template index d9037d5b20..5ad3c7a0d8 100644 --- a/source/retryable-writes/tests/etc/templates/handshakeError.yml.template +++ b/source/retryable-writes/tests/etc/templates/handshakeError.yml.template @@ -54,6 +54,7 @@ tests: {%- if (operation.operation_name == 'clientBulkWrite') %} runOnRequirements: - minServerVersion: "8.0" # `bulkWrite` added to server 8.0 + serverless: forbid {%- endif %} operations: - name: failPoint @@ -102,6 +103,7 @@ tests: {%- if (operation.operation_name == 'clientBulkWrite') %} runOnRequirements: - minServerVersion: "8.0" # `bulkWrite` added to server 8.0 + serverless: forbid {%- endif %} operations: - name: failPoint diff --git a/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.yml b/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.yml index 85696e89db..e5214b90f8 100644 --- a/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.yml +++ b/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.yml @@ -6,6 +6,7 @@ runOnRequirements: - replicaset - sharded - load-balanced + serverless: forbid createEntities: - client: diff --git a/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.yml b/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.yml index 23d2c622ee..722e5cc8e0 100644 --- a/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.yml +++ b/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.yml @@ -6,6 +6,7 @@ runOnRequirements: - replicaset - sharded - load-balanced + serverless: forbid createEntities: - client: diff --git a/source/retryable-writes/tests/unified/handshakeError.yml b/source/retryable-writes/tests/unified/handshakeError.yml index 131bbf2e5c..9b45c8e137 100644 --- a/source/retryable-writes/tests/unified/handshakeError.yml +++ b/source/retryable-writes/tests/unified/handshakeError.yml @@ -53,6 +53,7 @@ tests: - description: "client.clientBulkWrite succeeds after retryable handshake network error" runOnRequirements: - minServerVersion: "8.0" # `bulkWrite` added to server 8.0 + serverless: forbid operations: - name: failPoint object: testRunner @@ -98,6 +99,7 @@ tests: - description: "client.clientBulkWrite succeeds after retryable handshake server error (ShutdownInProgress)" runOnRequirements: - minServerVersion: "8.0" # `bulkWrite` added to server 8.0 + serverless: forbid operations: - name: failPoint object: testRunner diff --git a/source/server-selection/tests/logging/operation-id.yml b/source/server-selection/tests/logging/operation-id.yml index 24e48f9410..1687fc392d 100644 --- a/source/server-selection/tests/logging/operation-id.yml +++ b/source/server-selection/tests/logging/operation-id.yml @@ -128,6 +128,7 @@ tests: - description: "Successful client bulkWrite operation: log messages have operationIds" runOnRequirements: - minServerVersion: "8.0" # required for bulkWrite command + serverless: forbid operations: # ensure we've discovered the server so it is immediately available # and no extra "waiting for suitable server" messages are emitted. @@ -165,6 +166,7 @@ tests: - description: "Failed client bulkWrite operation: log messages have operationIds" runOnRequirements: - minServerVersion: "8.0" # required for bulkWrite command + serverless: forbid operations: # fail all hello/legacy hello commands for the main client. - name: failPoint diff --git a/source/transactions/tests/unified/client-bulkWrite.yml b/source/transactions/tests/unified/client-bulkWrite.yml index eda2babbe7..53402a1ef8 100644 --- a/source/transactions/tests/unified/client-bulkWrite.yml +++ b/source/transactions/tests/unified/client-bulkWrite.yml @@ -6,6 +6,7 @@ runOnRequirements: - replicaset - sharded - load-balanced + serverless: forbid createEntities: - client: diff --git a/source/transactions/tests/unified/mongos-pin-auto-tests.py b/source/transactions/tests/unified/mongos-pin-auto-tests.py index ad2aeabd17..09306780fa 100644 --- a/source/transactions/tests/unified/mongos-pin-auto-tests.py +++ b/source/transactions/tests/unified/mongos-pin-auto-tests.py @@ -322,6 +322,7 @@ def create_pin_test(op_name, error_name): if op_name == 'clientBulkWrite': test += ' runOnRequirements:\n' test += ' - minServerVersion: "8.0" # `bulkWrite` added to server 8.0"\n' + test += ' serverless: forbid\n' return test @@ -337,6 +338,7 @@ def create_unpin_test(op_name, error_name): if op_name == 'clientBulkWrite': test += ' runOnRequirements:\n' test += ' - minServerVersion: "8.0" # `bulkWrite` added to server 8.0"\n' + test += ' serverless: forbid\n' return test diff --git a/source/versioned-api/tests/crud-api-version-1.yml b/source/versioned-api/tests/crud-api-version-1.yml index cb9b45e57b..01e0323420 100644 --- a/source/versioned-api/tests/crud-api-version-1.yml +++ b/source/versioned-api/tests/crud-api-version-1.yml @@ -160,6 +160,7 @@ tests: - description: "client bulkWrite appends declared API version" runOnRequirements: - minServerVersion: "8.0" # `bulkWrite` added to server 8.0 + serverless: forbid operations: - name: clientBulkWrite object: *client From df39c421cf555c0e5f3c81512845cdaa665ce15a Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:15:09 -0400 Subject: [PATCH 2/7] skip prose tests usingn `MongoClient.bulkWrite` on Atlas Serverless --- source/crud/tests/README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/source/crud/tests/README.md b/source/crud/tests/README.md index 8417ef1334..44765425b4 100644 --- a/source/crud/tests/README.md +++ b/source/crud/tests/README.md @@ -70,7 +70,7 @@ WriteError's `details` property. Test that `MongoClient.bulkWrite` properly handles `writeModels` inputs containing a number of writes greater than `maxWriteBatchSize`. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -98,7 +98,7 @@ command. Assert that the length of `firstEvent.command.ops` is `maxWriteBatchSiz Test that `MongoClient.bulkWrite` properly handles a `writeModels` input which constructs an `ops` array larger than `maxMessageSizeBytes`. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -137,7 +137,7 @@ driver exposes `operationId`s in its CommandStartedEvents, assert that `firstEve Test that `MongoClient.bulkWrite` properly collects and reports `writeConcernError`s returned in separate batches. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with `retryWrites: false` configured and [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -182,7 +182,7 @@ Assert that two CommandStartedEvents were observed for the `bulkWrite` command. Test that `MongoClient.bulkWrite` handles individual write errors across batches for ordered and unordered bulk writes. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -237,7 +237,7 @@ Assert that one CommandStartedEvent was observed for the `bulkWrite` command. Test that `MongoClient.bulkWrite` properly iterates the results cursor when `getMore` is required. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -276,7 +276,7 @@ Assert that a CommandStartedEvent was observed for the `getMore` command. Test that `MongoClient.bulkWrite` executed within a transaction properly iterates the results cursor when `getMore` is required. -This test must only be run on 8.0+ servers. This test must not be run against standalone servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test must not be run against standalone servers. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -318,7 +318,7 @@ Assert that a CommandStartedEvent was observed for the `getMore` command. Test that `MongoClient.bulkWrite` properly handles a failure that occurs when attempting a `getMore`. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -369,7 +369,7 @@ Assert that a CommandStartedEvent was observed for the `killCursors` command. ### 10. `MongoClient.bulkWrite` returns error for unacknowledged too-large insert -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`). @@ -423,7 +423,7 @@ Expect a client-side error due the size. Test that `MongoClient.bulkWrite` batch splits a bulk write when the addition of a new namespace to `nsInfo` causes the size of the message to exceed `maxMessageSizeBytes - 1000`. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Repeat the following setup for each test case: @@ -603,7 +603,7 @@ remainingBulkWriteBytes = maxMessageSizeBytes - 1122 Test that `MongoClient.bulkWrite` returns an error if an operation provided exceeds `maxMessageSizeBytes` such that an empty `ops` payload would be sent. -This test must only be run on 8.0+ servers. This test may be skipped by drivers that are not able to construct +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test may be skipped by drivers that are not able to construct arbitrarily large documents. Construct a `MongoClient` (referred to as `client`). Perform a `hello` command using `client` and record the @@ -649,7 +649,7 @@ This test is expected to be removed when [DRIVERS-2888](https://jira.mongodb.org Test that `MongoClient.bulkWrite` returns an error if the client has auto-encryption configured. -This test must only be run on 8.0+ servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. Construct a `MongoClient` (referred to as `client`) configured with the following `AutoEncryptionOpts`: From 3d0066179d848aa175b561d049e8b429b0f18671 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:15:17 -0400 Subject: [PATCH 3/7] add Q&A entry to spec --- source/crud/bulk-write.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/crud/bulk-write.md b/source/crud/bulk-write.md index 28c22c3ad4..522affbb75 100644 --- a/source/crud/bulk-write.md +++ b/source/crud/bulk-write.md @@ -781,6 +781,10 @@ the initial implementation and testing of the new bulk write API, but may be rev ## Q&A +### Is `bulkWrite` supported on Atlas Serverless? + +No. See [CLOUDP-256344](https://jira.mongodb.org/browse/CLOUDP-256344) + ### Why are we adding a new bulk write API rather than updating the `MongoCollection.bulkWrite` implementation? The new `bulkWrite` command is only available in MongoDB 8.0+, so it cannot function as a drop-in replacement for the From 63ebac850478194b7c626abe84736ae9f0e6a323 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:16:59 -0400 Subject: [PATCH 4/7] regenerate JSON files --- .../tests/monitoring/unacknowledged-client-bulkWrite.json | 3 ++- .../crud/tests/unified/client-bulkWrite-delete-options.json | 3 ++- .../crud/tests/unified/client-bulkWrite-errorResponse.json | 3 ++- source/crud/tests/unified/client-bulkWrite-errors.json | 3 ++- .../tests/unified/client-bulkWrite-mixed-namespaces.json | 3 ++- source/crud/tests/unified/client-bulkWrite-options.json | 3 ++- source/crud/tests/unified/client-bulkWrite-ordered.json | 3 ++- source/crud/tests/unified/client-bulkWrite-results.json | 3 ++- .../crud/tests/unified/client-bulkWrite-update-options.json | 3 ++- .../tests/unified/client-bulkWrite-update-pipeline.json | 3 ++- .../tests/unified/client-bulkWrite-clientErrors.json | 3 ++- .../tests/unified/client-bulkWrite-serverErrors.json | 3 ++- source/retryable-writes/tests/unified/handshakeError.json | 6 ++++-- source/server-selection/tests/logging/operation-id.json | 6 ++++-- source/transactions/tests/unified/client-bulkWrite.json | 3 ++- source/versioned-api/tests/crud-api-version-1.json | 3 ++- 16 files changed, 36 insertions(+), 18 deletions(-) diff --git a/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.json b/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.json index 1099b6a1e9..b30e1540f4 100644 --- a/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.json +++ b/source/command-logging-and-monitoring/tests/monitoring/unacknowledged-client-bulkWrite.json @@ -3,7 +3,8 @@ "schemaVersion": "1.7", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-delete-options.json b/source/crud/tests/unified/client-bulkWrite-delete-options.json index 5bdf2b124a..12240dc219 100644 --- a/source/crud/tests/unified/client-bulkWrite-delete-options.json +++ b/source/crud/tests/unified/client-bulkWrite-delete-options.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-errorResponse.json b/source/crud/tests/unified/client-bulkWrite-errorResponse.json index edf2339d8a..b828aad3b9 100644 --- a/source/crud/tests/unified/client-bulkWrite-errorResponse.json +++ b/source/crud/tests/unified/client-bulkWrite-errorResponse.json @@ -3,7 +3,8 @@ "schemaVersion": "1.12", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-errors.json b/source/crud/tests/unified/client-bulkWrite-errors.json index 9f17f85331..8cc45bb5f2 100644 --- a/source/crud/tests/unified/client-bulkWrite-errors.json +++ b/source/crud/tests/unified/client-bulkWrite-errors.json @@ -3,7 +3,8 @@ "schemaVersion": "1.21", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json index f90755dc85..b413831603 100644 --- a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json +++ b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-options.json b/source/crud/tests/unified/client-bulkWrite-options.json index a1e6af3bf3..e27219726f 100644 --- a/source/crud/tests/unified/client-bulkWrite-options.json +++ b/source/crud/tests/unified/client-bulkWrite-options.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-ordered.json b/source/crud/tests/unified/client-bulkWrite-ordered.json index a55d6619b5..e56d3685db 100644 --- a/source/crud/tests/unified/client-bulkWrite-ordered.json +++ b/source/crud/tests/unified/client-bulkWrite-ordered.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-results.json b/source/crud/tests/unified/client-bulkWrite-results.json index 97a9e50b21..51bd585f29 100644 --- a/source/crud/tests/unified/client-bulkWrite-results.json +++ b/source/crud/tests/unified/client-bulkWrite-results.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-update-options.json b/source/crud/tests/unified/client-bulkWrite-update-options.json index 93a2774e5f..e6282e921e 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-options.json +++ b/source/crud/tests/unified/client-bulkWrite-update-options.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/crud/tests/unified/client-bulkWrite-update-pipeline.json b/source/crud/tests/unified/client-bulkWrite-update-pipeline.json index 57b6c9c1ba..c3aef3c892 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-pipeline.json +++ b/source/crud/tests/unified/client-bulkWrite-update-pipeline.json @@ -3,7 +3,8 @@ "schemaVersion": "1.1", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.json b/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.json index e2c0fb9c0a..d16e0c9c8d 100644 --- a/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.json +++ b/source/retryable-writes/tests/unified/client-bulkWrite-clientErrors.json @@ -8,7 +8,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.json b/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.json index 4a0b210eb5..f58c82bcc7 100644 --- a/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.json +++ b/source/retryable-writes/tests/unified/client-bulkWrite-serverErrors.json @@ -8,7 +8,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/retryable-writes/tests/unified/handshakeError.json b/source/retryable-writes/tests/unified/handshakeError.json index 3c46463759..4c18933367 100644 --- a/source/retryable-writes/tests/unified/handshakeError.json +++ b/source/retryable-writes/tests/unified/handshakeError.json @@ -57,7 +57,8 @@ "description": "client.clientBulkWrite succeeds after retryable handshake network error", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "operations": [ @@ -165,7 +166,8 @@ "description": "client.clientBulkWrite succeeds after retryable handshake server error (ShutdownInProgress)", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "operations": [ diff --git a/source/server-selection/tests/logging/operation-id.json b/source/server-selection/tests/logging/operation-id.json index 6cdbcb3f5a..c1024184ff 100644 --- a/source/server-selection/tests/logging/operation-id.json +++ b/source/server-selection/tests/logging/operation-id.json @@ -232,7 +232,8 @@ "description": "Successful client bulkWrite operation: log messages have operationIds", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "operations": [ @@ -304,7 +305,8 @@ "description": "Failed client bulkWrite operation: log messages have operationIds", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "operations": [ diff --git a/source/transactions/tests/unified/client-bulkWrite.json b/source/transactions/tests/unified/client-bulkWrite.json index f8f1d97169..bf782aa20b 100644 --- a/source/transactions/tests/unified/client-bulkWrite.json +++ b/source/transactions/tests/unified/client-bulkWrite.json @@ -8,7 +8,8 @@ "replicaset", "sharded", "load-balanced" - ] + ], + "serverless": "forbid" } ], "createEntities": [ diff --git a/source/versioned-api/tests/crud-api-version-1.json b/source/versioned-api/tests/crud-api-version-1.json index fe668620f8..23ef59a6d9 100644 --- a/source/versioned-api/tests/crud-api-version-1.json +++ b/source/versioned-api/tests/crud-api-version-1.json @@ -431,7 +431,8 @@ "description": "client bulkWrite appends declared API version", "runOnRequirements": [ { - "minServerVersion": "8.0" + "minServerVersion": "8.0", + "serverless": "forbid" } ], "operations": [ From 3980e5c93fd8209e5475507b31eb933fd6a6108e Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:28:00 -0400 Subject: [PATCH 5/7] fix format --- source/crud/tests/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/crud/tests/README.md b/source/crud/tests/README.md index 44765425b4..261d81c96f 100644 --- a/source/crud/tests/README.md +++ b/source/crud/tests/README.md @@ -276,7 +276,8 @@ Assert that a CommandStartedEvent was observed for the `getMore` command. Test that `MongoClient.bulkWrite` executed within a transaction properly iterates the results cursor when `getMore` is required. -This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test must not be run against standalone servers. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test must not be run +against standalone servers. Construct a `MongoClient` (referred to as `client`) with [command monitoring](../../command-logging-and-monitoring/command-logging-and-monitoring.rst) enabled to observe @@ -603,8 +604,8 @@ remainingBulkWriteBytes = maxMessageSizeBytes - 1122 Test that `MongoClient.bulkWrite` returns an error if an operation provided exceeds `maxMessageSizeBytes` such that an empty `ops` payload would be sent. -This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test may be skipped by drivers that are not able to construct -arbitrarily large documents. +This test must only be run on 8.0+ servers. This test must be skipped on Atlas Serverless. This test may be skipped by +drivers that are not able to construct arbitrarily large documents. Construct a `MongoClient` (referred to as `client`). Perform a `hello` command using `client` and record the `maxMessageSizeBytes` value contained in the response. From c25401e99edb609d3faf0d814dab0cdd49aa4508 Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:35:59 -0400 Subject: [PATCH 6/7] increase `schemaVersion` to 1.4 To include support for `serverless` as a `runOnRequirement` --- source/crud/tests/unified/client-bulkWrite-delete-options.yml | 2 +- source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml | 2 +- source/crud/tests/unified/client-bulkWrite-options.yml | 2 +- source/crud/tests/unified/client-bulkWrite-ordered.yml | 2 +- source/crud/tests/unified/client-bulkWrite-results.yml | 2 +- source/crud/tests/unified/client-bulkWrite-update-options.yml | 2 +- source/crud/tests/unified/client-bulkWrite-update-pipeline.yml | 2 +- .../tests/etc/templates/handshakeError.yml.template | 2 +- source/transactions/tests/unified/client-bulkWrite.yml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/source/crud/tests/unified/client-bulkWrite-delete-options.yml b/source/crud/tests/unified/client-bulkWrite-delete-options.yml index ba2d5831db..9297838535 100644 --- a/source/crud/tests/unified/client-bulkWrite-delete-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-delete-options.yml @@ -1,5 +1,5 @@ description: "client bulkWrite delete options" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml index be65e90e66..9788bce8c5 100644 --- a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml +++ b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.yml @@ -1,5 +1,5 @@ description: "client bulkWrite with mixed namespaces" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-options.yml b/source/crud/tests/unified/client-bulkWrite-options.yml index d24fcd7524..e0cbe747b3 100644 --- a/source/crud/tests/unified/client-bulkWrite-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-options.yml @@ -1,5 +1,5 @@ description: "client bulkWrite top-level options" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-ordered.yml b/source/crud/tests/unified/client-bulkWrite-ordered.yml index e28eee0895..48aa8ad40a 100644 --- a/source/crud/tests/unified/client-bulkWrite-ordered.yml +++ b/source/crud/tests/unified/client-bulkWrite-ordered.yml @@ -1,5 +1,5 @@ description: "client bulkWrite with ordered option" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-results.yml b/source/crud/tests/unified/client-bulkWrite-results.yml index 05eb25013d..86cb5346ae 100644 --- a/source/crud/tests/unified/client-bulkWrite-results.yml +++ b/source/crud/tests/unified/client-bulkWrite-results.yml @@ -1,5 +1,5 @@ description: "client bulkWrite results" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-update-options.yml b/source/crud/tests/unified/client-bulkWrite-update-options.yml index 0968fe4113..c5cc20d480 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-options.yml +++ b/source/crud/tests/unified/client-bulkWrite-update-options.yml @@ -1,5 +1,5 @@ description: "client bulkWrite update options" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml b/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml index a31899474f..c90e93b47c 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml +++ b/source/crud/tests/unified/client-bulkWrite-update-pipeline.yml @@ -1,5 +1,5 @@ description: "client bulkWrite update pipeline" -schemaVersion: "1.1" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" serverless: forbid diff --git a/source/retryable-writes/tests/etc/templates/handshakeError.yml.template b/source/retryable-writes/tests/etc/templates/handshakeError.yml.template index 5ad3c7a0d8..03b0e19bcd 100644 --- a/source/retryable-writes/tests/etc/templates/handshakeError.yml.template +++ b/source/retryable-writes/tests/etc/templates/handshakeError.yml.template @@ -2,7 +2,7 @@ description: "retryable writes handshake failures" -schemaVersion: "1.3" +schemaVersion: "1.4" # For `serverless: forbid` runOnRequirements: - minServerVersion: "4.2" diff --git a/source/transactions/tests/unified/client-bulkWrite.yml b/source/transactions/tests/unified/client-bulkWrite.yml index 53402a1ef8..d80e618728 100644 --- a/source/transactions/tests/unified/client-bulkWrite.yml +++ b/source/transactions/tests/unified/client-bulkWrite.yml @@ -1,5 +1,5 @@ description: "client bulkWrite transactions" -schemaVersion: "1.3" +schemaVersion: "1.4" # To support `serverless: forbid` runOnRequirements: - minServerVersion: "8.0" topologies: From 3857d75f811907124a9bd3b4559e3c85552180cc Mon Sep 17 00:00:00 2001 From: Kevin Albertson Date: Wed, 21 Aug 2024 09:36:32 -0400 Subject: [PATCH 7/7] regenerate test files --- source/crud/tests/unified/client-bulkWrite-delete-options.json | 2 +- .../crud/tests/unified/client-bulkWrite-mixed-namespaces.json | 2 +- source/crud/tests/unified/client-bulkWrite-options.json | 2 +- source/crud/tests/unified/client-bulkWrite-ordered.json | 2 +- source/crud/tests/unified/client-bulkWrite-results.json | 2 +- source/crud/tests/unified/client-bulkWrite-update-options.json | 2 +- source/crud/tests/unified/client-bulkWrite-update-pipeline.json | 2 +- source/retryable-writes/tests/unified/handshakeError.json | 2 +- source/retryable-writes/tests/unified/handshakeError.yml | 2 +- source/transactions/tests/unified/client-bulkWrite.json | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) diff --git a/source/crud/tests/unified/client-bulkWrite-delete-options.json b/source/crud/tests/unified/client-bulkWrite-delete-options.json index 12240dc219..d9987897dc 100644 --- a/source/crud/tests/unified/client-bulkWrite-delete-options.json +++ b/source/crud/tests/unified/client-bulkWrite-delete-options.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite delete options", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json index b413831603..55f0618923 100644 --- a/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json +++ b/source/crud/tests/unified/client-bulkWrite-mixed-namespaces.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite with mixed namespaces", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-options.json b/source/crud/tests/unified/client-bulkWrite-options.json index e27219726f..708fe4e85b 100644 --- a/source/crud/tests/unified/client-bulkWrite-options.json +++ b/source/crud/tests/unified/client-bulkWrite-options.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite top-level options", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-ordered.json b/source/crud/tests/unified/client-bulkWrite-ordered.json index e56d3685db..6fb10d992f 100644 --- a/source/crud/tests/unified/client-bulkWrite-ordered.json +++ b/source/crud/tests/unified/client-bulkWrite-ordered.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite with ordered option", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-results.json b/source/crud/tests/unified/client-bulkWrite-results.json index 51bd585f29..accf5a9cbf 100644 --- a/source/crud/tests/unified/client-bulkWrite-results.json +++ b/source/crud/tests/unified/client-bulkWrite-results.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite results", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-update-options.json b/source/crud/tests/unified/client-bulkWrite-update-options.json index e6282e921e..ce6241c681 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-options.json +++ b/source/crud/tests/unified/client-bulkWrite-update-options.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite update options", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/crud/tests/unified/client-bulkWrite-update-pipeline.json b/source/crud/tests/unified/client-bulkWrite-update-pipeline.json index c3aef3c892..9dba5ee6c5 100644 --- a/source/crud/tests/unified/client-bulkWrite-update-pipeline.json +++ b/source/crud/tests/unified/client-bulkWrite-update-pipeline.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite update pipeline", - "schemaVersion": "1.1", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0", diff --git a/source/retryable-writes/tests/unified/handshakeError.json b/source/retryable-writes/tests/unified/handshakeError.json index 4c18933367..93cb2e849e 100644 --- a/source/retryable-writes/tests/unified/handshakeError.json +++ b/source/retryable-writes/tests/unified/handshakeError.json @@ -1,6 +1,6 @@ { "description": "retryable writes handshake failures", - "schemaVersion": "1.3", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "4.2", diff --git a/source/retryable-writes/tests/unified/handshakeError.yml b/source/retryable-writes/tests/unified/handshakeError.yml index 9b45c8e137..1743463370 100644 --- a/source/retryable-writes/tests/unified/handshakeError.yml +++ b/source/retryable-writes/tests/unified/handshakeError.yml @@ -2,7 +2,7 @@ description: "retryable writes handshake failures" -schemaVersion: "1.3" +schemaVersion: "1.4" # For `serverless: forbid` runOnRequirements: - minServerVersion: "4.2" diff --git a/source/transactions/tests/unified/client-bulkWrite.json b/source/transactions/tests/unified/client-bulkWrite.json index bf782aa20b..4a8d013f8d 100644 --- a/source/transactions/tests/unified/client-bulkWrite.json +++ b/source/transactions/tests/unified/client-bulkWrite.json @@ -1,6 +1,6 @@ { "description": "client bulkWrite transactions", - "schemaVersion": "1.3", + "schemaVersion": "1.4", "runOnRequirements": [ { "minServerVersion": "8.0",