Skip to content

Commit 4c73bb1

Browse files
authored
DRIVERS-2799: Use more permissive top-level runOnRequirements (#1484)
* DRIVERS-2799: Use more permissive top-level runOnRequirements This avoids unintentionally skipping tests. Previously, some tests were never run on sharded clusters. * Add RetryableWriteError error label via failCommand fail point This ensures the unified test is consistent with the legacy test from which it was derived. Additionally, it makes the test resilient to possible changes in DRIVERS-1641. This inconsistency dates back to e4808b8.
1 parent 6943ba1 commit 4c73bb1

File tree

6 files changed

+53
-54
lines changed

6 files changed

+53
-54
lines changed

source/retryable-writes/tests/unified/bulkWrite-serverErrors.json

Lines changed: 7 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/retryable-writes/tests/unified/bulkWrite-serverErrors.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ description: "retryable-writes bulkWrite serverErrors"
33
schemaVersion: "1.0"
44

55
runOnRequirements:
6-
- minServerVersion: "3.6"
6+
- minServerVersion: "4.0"
77
topologies: [ replicaset ]
8+
- minServerVersion: "4.1.7"
9+
topologies: [ sharded ]
810

911
createEntities:
1012
- client:
@@ -29,11 +31,6 @@ initialData:
2931

3032
tests:
3133
- description: "BulkWrite succeeds after retryable writeConcernError in first batch"
32-
runOnRequirements:
33-
- minServerVersion: "4.0"
34-
topologies: [ replicaset ]
35-
- minServerVersion: "4.1.7"
36-
topologies: [ sharded ]
3734
operations:
3835
- name: failPoint
3936
object: testRunner

source/retryable-writes/tests/unified/insertOne-serverErrors.json

Lines changed: 7 additions & 15 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/retryable-writes/tests/unified/insertOne-serverErrors.yml

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@ description: "retryable-writes insertOne serverErrors"
33
schemaVersion: "1.0"
44

55
runOnRequirements:
6-
- minServerVersion: "3.6"
6+
- minServerVersion: "4.0"
77
topologies: [ replicaset ]
8+
- minServerVersion: "4.1.7"
9+
topologies: [ sharded ]
810

911
createEntities:
1012
- client:
@@ -29,11 +31,6 @@ initialData:
2931

3032
tests:
3133
- description: "InsertOne succeeds after retryable writeConcernError"
32-
runOnRequirements:
33-
- minServerVersion: "4.0"
34-
topologies: [ replicaset ]
35-
- minServerVersion: "4.1.7"
36-
topologies: [ sharded ]
3734
operations:
3835
- name: failPoint
3936
object: testRunner

source/unified-test-format/tests/valid-pass/poc-retryable-writes.json

Lines changed: 27 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

source/unified-test-format/tests/valid-pass/poc-retryable-writes.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,6 @@ description: "poc-retryable-writes"
22

33
schemaVersion: "1.0"
44

5-
runOnRequirements:
6-
- minServerVersion: "3.6"
7-
topologies: [ replicaset ]
8-
95
createEntities:
106
- client:
117
id: &client0 client0
@@ -42,6 +38,9 @@ initialData:
4238

4339
tests:
4440
- description: "FindOneAndUpdate is committed on first attempt"
41+
runOnRequirements: &onPrimaryTransactionalWrite_requirements
42+
- minServerVersion: "3.6"
43+
topologies: [ replicaset ]
4544
operations:
4645
- name: failPoint
4746
object: testRunner
@@ -65,6 +64,7 @@ tests:
6564
- { _id: 2, x: 22 }
6665

6766
- description: "FindOneAndUpdate is not committed on first attempt"
67+
runOnRequirements: *onPrimaryTransactionalWrite_requirements
6868
operations:
6969
- name: failPoint
7070
object: testRunner
@@ -89,6 +89,7 @@ tests:
8989
- { _id: 2, x: 22 }
9090

9191
- description: "FindOneAndUpdate is never committed"
92+
runOnRequirements: *onPrimaryTransactionalWrite_requirements
9293
operations:
9394
- name: failPoint
9495
object: testRunner
@@ -190,6 +191,7 @@ tests:
190191
mode: { times: 2 }
191192
data:
192193
failCommands: [ insert ]
194+
errorLabels: [ RetryableWriteError ]
193195
writeConcernError:
194196
code: 91 # ShutdownInProgress
195197
errmsg: "Replication is being shut down"

0 commit comments

Comments
 (0)