mongo-python-driver/test/client-backpressure/backpressure-retry-loop.json
Noah Stapp e1751ff253
PYTHON-5668 - Merge backpressure branch into mainline (#2729)
Co-authored-by: Steven Silvester <steve.silvester@mongodb.com>
Co-authored-by: Shane Harvey <shnhrv@gmail.com>
Co-authored-by: Steven Silvester <steven.silvester@ieee.org>
Co-authored-by: Iris <58442094+sleepyStick@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Kevin Albertson <kevin.albertson@mongodb.com>
Co-authored-by: Casey Clements <caseyclements@users.noreply.github.com>
Co-authored-by: Sergey Zelenov <mail@zelenov.su>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-14 12:25:29 -04:00

4554 lines
109 KiB
JSON

{
"description": "tests that operations respect overload backoff retry loop",
"schemaVersion": "1.3",
"runOnRequirements": [
{
"minServerVersion": "4.4",
"topologies": [
"replicaset",
"sharded",
"load-balanced"
]
}
],
"createEntities": [
{
"client": {
"id": "client",
"useMultipleMongoses": false,
"observeEvents": [
"commandStartedEvent",
"commandSucceededEvent",
"commandFailedEvent"
],
"ignoreCommandMonitoringEvents": [
"killCursors"
]
}
},
{
"client": {
"id": "internal_client",
"useMultipleMongoses": false
}
},
{
"database": {
"id": "internal_db",
"client": "internal_client",
"databaseName": "retryable-writes-tests"
}
},
{
"collection": {
"id": "retryable-writes-tests",
"database": "internal_db",
"collectionName": "coll"
}
},
{
"database": {
"id": "database",
"client": "client",
"databaseName": "retryable-writes-tests"
}
},
{
"collection": {
"id": "collection",
"database": "database",
"collectionName": "coll"
}
},
{
"client": {
"id": "client_retryReads_false",
"useMultipleMongoses": false,
"observeEvents": [
"commandStartedEvent",
"commandSucceededEvent",
"commandFailedEvent"
],
"ignoreCommandMonitoringEvents": [
"killCursors"
],
"uriOptions": {
"retryReads": false
}
}
},
{
"database": {
"id": "database_retryReads_false",
"client": "client_retryReads_false",
"databaseName": "retryable-writes-tests"
}
},
{
"collection": {
"id": "collection_retryReads_false",
"database": "database_retryReads_false",
"collectionName": "coll"
}
},
{
"client": {
"id": "client_retryWrites_false",
"useMultipleMongoses": false,
"observeEvents": [
"commandStartedEvent",
"commandSucceededEvent",
"commandFailedEvent"
],
"ignoreCommandMonitoringEvents": [
"killCursors"
],
"uriOptions": {
"retryWrites": false
}
}
},
{
"database": {
"id": "database_retryWrites_false",
"client": "client_retryWrites_false",
"databaseName": "retryable-writes-tests"
}
},
{
"collection": {
"id": "collection_retryWrites_false",
"database": "database_retryWrites_false",
"collectionName": "coll"
}
}
],
"initialData": [
{
"collectionName": "coll",
"databaseName": "retryable-writes-tests",
"documents": []
}
],
"_yamlAnchors": {
"bulWriteInsertNamespace": "retryable-writes-tests.coll"
},
"tests": [
{
"description": "client.listDatabases retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listDatabases"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listDatabases",
"object": "client",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
},
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
},
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandSucceededEvent": {
"commandName": "listDatabases"
}
}
]
}
]
},
{
"description": "client.listDatabases (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listDatabases"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listDatabases",
"object": "client_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
}
]
}
]
},
{
"description": "client.listDatabaseNames retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listDatabases"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listDatabaseNames",
"object": "client"
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
},
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
},
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandSucceededEvent": {
"commandName": "listDatabases"
}
}
]
}
]
},
{
"description": "client.listDatabaseNames (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listDatabases"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listDatabaseNames",
"object": "client_retryReads_false",
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listDatabases"
}
},
{
"commandFailedEvent": {
"commandName": "listDatabases"
}
}
]
}
]
},
{
"description": "client.createChangeStream retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "client",
"arguments": {
"pipeline": []
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "client.createChangeStream (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "client_retryReads_false",
"arguments": {
"pipeline": []
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "client.clientBulkWrite retries using operation loop",
"runOnRequirements": [
{
"minServerVersion": "8.0"
}
],
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"bulkWrite"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "clientBulkWrite",
"object": "client",
"arguments": {
"models": [
{
"insertOne": {
"namespace": "retryable-writes-tests.coll",
"document": {
"_id": 8,
"x": 88
}
}
}
]
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandFailedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandStartedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandFailedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandStartedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandSucceededEvent": {
"commandName": "bulkWrite"
}
}
]
}
]
},
{
"description": "client.clientBulkWrite (write) does not retry if retryWrites=false",
"runOnRequirements": [
{
"minServerVersion": "8.0"
}
],
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"bulkWrite"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "clientBulkWrite",
"object": "client_retryWrites_false",
"arguments": {
"models": [
{
"insertOne": {
"namespace": "retryable-writes-tests.coll",
"document": {
"_id": 8,
"x": 88
}
}
}
]
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "bulkWrite"
}
},
{
"commandFailedEvent": {
"commandName": "bulkWrite"
}
}
]
}
]
},
{
"description": "database.aggregate read retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "database",
"arguments": {
"pipeline": [
{
"$listLocalSessions": {}
},
{
"$limit": 1
}
]
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "database.aggregate (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "database_retryReads_false",
"arguments": {
"pipeline": [
{
"$listLocalSessions": {}
},
{
"$limit": 1
}
]
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "database.listCollections retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listCollections"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listCollections",
"object": "database",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
},
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
},
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandSucceededEvent": {
"commandName": "listCollections"
}
}
]
}
]
},
{
"description": "database.listCollections (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listCollections"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listCollections",
"object": "database_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
}
]
}
]
},
{
"description": "database.listCollectionNames retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listCollections"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listCollectionNames",
"object": "database",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
},
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
},
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandSucceededEvent": {
"commandName": "listCollections"
}
}
]
}
]
},
{
"description": "database.listCollectionNames (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listCollections"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listCollectionNames",
"object": "database_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listCollections"
}
},
{
"commandFailedEvent": {
"commandName": "listCollections"
}
}
]
}
]
},
{
"description": "database.runCommand retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"ping"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "runCommand",
"object": "database",
"arguments": {
"command": {
"ping": 1
},
"commandName": "ping"
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "ping"
}
},
{
"commandFailedEvent": {
"commandName": "ping"
}
},
{
"commandStartedEvent": {
"commandName": "ping"
}
},
{
"commandFailedEvent": {
"commandName": "ping"
}
},
{
"commandStartedEvent": {
"commandName": "ping"
}
},
{
"commandSucceededEvent": {
"commandName": "ping"
}
}
]
}
]
},
{
"description": "database.runCommand (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"ping"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "runCommand",
"object": "database_retryReads_false",
"arguments": {
"command": {
"ping": 1
},
"commandName": "ping"
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "ping"
}
},
{
"commandFailedEvent": {
"commandName": "ping"
}
}
]
}
]
},
{
"description": "database.runCommand (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"ping"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "runCommand",
"object": "database_retryWrites_false",
"arguments": {
"command": {
"ping": 1
},
"commandName": "ping"
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "ping"
}
},
{
"commandFailedEvent": {
"commandName": "ping"
}
}
]
}
]
},
{
"description": "database.createChangeStream retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "database",
"arguments": {
"pipeline": []
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "database.createChangeStream (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "database_retryReads_false",
"arguments": {
"pipeline": []
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.aggregate read retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "collection",
"arguments": {
"pipeline": []
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.aggregate (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "collection_retryReads_false",
"arguments": {
"pipeline": []
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.countDocuments retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "countDocuments",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.countDocuments (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "countDocuments",
"object": "collection_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.estimatedDocumentCount retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"count"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "estimatedDocumentCount",
"object": "collection"
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "count"
}
},
{
"commandFailedEvent": {
"commandName": "count"
}
},
{
"commandStartedEvent": {
"commandName": "count"
}
},
{
"commandFailedEvent": {
"commandName": "count"
}
},
{
"commandStartedEvent": {
"commandName": "count"
}
},
{
"commandSucceededEvent": {
"commandName": "count"
}
}
]
}
]
},
{
"description": "collection.estimatedDocumentCount (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"count"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "estimatedDocumentCount",
"object": "collection_retryReads_false",
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "count"
}
},
{
"commandFailedEvent": {
"commandName": "count"
}
}
]
}
]
},
{
"description": "collection.distinct retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"distinct"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "distinct",
"object": "collection",
"arguments": {
"fieldName": "x",
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "distinct"
}
},
{
"commandFailedEvent": {
"commandName": "distinct"
}
},
{
"commandStartedEvent": {
"commandName": "distinct"
}
},
{
"commandFailedEvent": {
"commandName": "distinct"
}
},
{
"commandStartedEvent": {
"commandName": "distinct"
}
},
{
"commandSucceededEvent": {
"commandName": "distinct"
}
}
]
}
]
},
{
"description": "collection.distinct (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"distinct"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "distinct",
"object": "collection_retryReads_false",
"arguments": {
"fieldName": "x",
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "distinct"
}
},
{
"commandFailedEvent": {
"commandName": "distinct"
}
}
]
}
]
},
{
"description": "collection.find retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"find"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "find",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
},
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
},
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandSucceededEvent": {
"commandName": "find"
}
}
]
}
]
},
{
"description": "collection.find (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"find"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "find",
"object": "collection_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
}
]
}
]
},
{
"description": "collection.findOne retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"find"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOne",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
},
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
},
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandSucceededEvent": {
"commandName": "find"
}
}
]
}
]
},
{
"description": "collection.findOne (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"find"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOne",
"object": "collection_retryReads_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "find"
}
},
{
"commandFailedEvent": {
"commandName": "find"
}
}
]
}
]
},
{
"description": "collection.listIndexes retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listIndexes",
"object": "collection"
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandSucceededEvent": {
"commandName": "listIndexes"
}
}
]
}
]
},
{
"description": "collection.listIndexes (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listIndexes",
"object": "collection_retryReads_false",
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
}
]
}
]
},
{
"description": "collection.listIndexNames retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"listIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listIndexNames",
"object": "collection"
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandSucceededEvent": {
"commandName": "listIndexes"
}
}
]
}
]
},
{
"description": "collection.listIndexNames (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"listIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "listIndexNames",
"object": "collection_retryReads_false",
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "listIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "listIndexes"
}
}
]
}
]
},
{
"description": "collection.createChangeStream retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "collection",
"arguments": {
"pipeline": []
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.createChangeStream (read) does not retry if retryReads=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createChangeStream",
"object": "collection_retryReads_false",
"arguments": {
"pipeline": []
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryReads_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.insertOne retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "insertOne",
"object": "collection",
"arguments": {
"document": {
"_id": 2,
"x": 22
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandSucceededEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.insertOne (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "insertOne",
"object": "collection_retryWrites_false",
"arguments": {
"document": {
"_id": 2,
"x": 22
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.insertMany retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "insertMany",
"object": "collection",
"arguments": {
"documents": [
{
"_id": 2,
"x": 22
}
]
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandSucceededEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.insertMany (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "insertMany",
"object": "collection_retryWrites_false",
"arguments": {
"documents": [
{
"_id": 2,
"x": 22
}
]
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.deleteOne retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"delete"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "deleteOne",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
},
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
},
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandSucceededEvent": {
"commandName": "delete"
}
}
]
}
]
},
{
"description": "collection.deleteOne (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"delete"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "deleteOne",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
}
]
}
]
},
{
"description": "collection.deleteMany retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"delete"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "deleteMany",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
},
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
},
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandSucceededEvent": {
"commandName": "delete"
}
}
]
}
]
},
{
"description": "collection.deleteMany (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"delete"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "deleteMany",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "delete"
}
},
{
"commandFailedEvent": {
"commandName": "delete"
}
}
]
}
]
},
{
"description": "collection.replaceOne retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "replaceOne",
"object": "collection",
"arguments": {
"filter": {},
"replacement": {
"x": 22
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandSucceededEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.replaceOne (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "replaceOne",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {},
"replacement": {
"x": 22
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.updateOne retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "updateOne",
"object": "collection",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandSucceededEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.updateOne (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "updateOne",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.updateMany retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "updateMany",
"object": "collection",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
},
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandSucceededEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.updateMany (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"update"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "updateMany",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "update"
}
},
{
"commandFailedEvent": {
"commandName": "update"
}
}
]
}
]
},
{
"description": "collection.findOneAndDelete retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndDelete",
"object": "collection",
"arguments": {
"filter": {}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandSucceededEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.findOneAndDelete (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndDelete",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.findOneAndReplace retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndReplace",
"object": "collection",
"arguments": {
"filter": {},
"replacement": {
"x": 22
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandSucceededEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.findOneAndReplace (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndReplace",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {},
"replacement": {
"x": 22
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.findOneAndUpdate retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndUpdate",
"object": "collection",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
},
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandSucceededEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.findOneAndUpdate (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"findAndModify"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "findOneAndUpdate",
"object": "collection_retryWrites_false",
"arguments": {
"filter": {},
"update": {
"$set": {
"x": 22
}
}
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "findAndModify"
}
},
{
"commandFailedEvent": {
"commandName": "findAndModify"
}
}
]
}
]
},
{
"description": "collection.bulkWrite retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "bulkWrite",
"object": "collection",
"arguments": {
"requests": [
{
"insertOne": {
"document": {
"_id": 2,
"x": 22
}
}
}
]
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
},
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandSucceededEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.bulkWrite (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"insert"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "bulkWrite",
"object": "collection_retryWrites_false",
"arguments": {
"requests": [
{
"insertOne": {
"document": {
"_id": 2,
"x": 22
}
}
}
]
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "insert"
}
},
{
"commandFailedEvent": {
"commandName": "insert"
}
}
]
}
]
},
{
"description": "collection.createIndex retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"createIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createIndex",
"object": "collection",
"arguments": {
"keys": {
"x": 11
},
"name": "x_11"
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "createIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "createIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "createIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "createIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "createIndexes"
}
},
{
"commandSucceededEvent": {
"commandName": "createIndexes"
}
}
]
}
]
},
{
"description": "collection.createIndex (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"createIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "createIndex",
"object": "collection_retryWrites_false",
"arguments": {
"keys": {
"x": 11
},
"name": "x_11"
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "createIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "createIndexes"
}
}
]
}
]
},
{
"description": "collection.dropIndex retries using operation loop",
"operations": [
{
"name": "createIndex",
"object": "retryable-writes-tests",
"arguments": {
"keys": {
"x": 11
},
"name": "x_11"
}
},
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"dropIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "dropIndex",
"object": "collection",
"arguments": {
"name": "x_11"
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandSucceededEvent": {
"commandName": "dropIndexes"
}
}
]
}
]
},
{
"description": "collection.dropIndex (write) does not retry if retryWrites=false",
"operations": [
{
"name": "createIndex",
"object": "retryable-writes-tests",
"arguments": {
"keys": {
"x": 11
},
"name": "x_11"
}
},
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"dropIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "dropIndex",
"object": "collection_retryWrites_false",
"arguments": {
"name": "x_11"
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
}
]
}
]
},
{
"description": "collection.dropIndexes retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"dropIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "dropIndexes",
"object": "collection"
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandSucceededEvent": {
"commandName": "dropIndexes"
}
}
]
}
]
},
{
"description": "collection.dropIndexes (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"dropIndexes"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "dropIndexes",
"object": "collection_retryWrites_false",
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "dropIndexes"
}
},
{
"commandFailedEvent": {
"commandName": "dropIndexes"
}
}
]
}
]
},
{
"description": "collection.aggregate write retries using operation loop",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 2
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "collection",
"arguments": {
"pipeline": [
{
"$out": "output"
}
]
}
}
],
"expectEvents": [
{
"client": "client",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
},
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandSucceededEvent": {
"commandName": "aggregate"
}
}
]
}
]
},
{
"description": "collection.aggregate (write) does not retry if retryWrites=false",
"operations": [
{
"name": "failPoint",
"object": "testRunner",
"arguments": {
"client": "internal_client",
"failPoint": {
"configureFailPoint": "failCommand",
"mode": {
"times": 1
},
"data": {
"failCommands": [
"aggregate"
],
"errorLabels": [
"RetryableError",
"SystemOverloadedError"
],
"errorCode": 2
}
}
}
},
{
"name": "aggregate",
"object": "collection_retryWrites_false",
"arguments": {
"pipeline": [
{
"$out": "output"
}
]
},
"expectError": {
"isError": true,
"isClientError": false
}
}
],
"expectEvents": [
{
"client": "client_retryWrites_false",
"events": [
{
"commandStartedEvent": {
"commandName": "aggregate"
}
},
{
"commandFailedEvent": {
"commandName": "aggregate"
}
}
]
}
]
}
]
}