{ "runOn": [ { "minServerVersion": "4.0", "topology": [ "replicaset" ] }, { "minServerVersion": "4.1.7", "topology": [ "sharded", "load-balanced" ] } ], "data": [ { "_id": 1, "x": 11 }, { "_id": 2, "x": 22 } ], "tests": [ { "description": "BulkWrite succeeds after PrimarySteppedDown", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "update" ], "errorCode": 189, "errorLabels": [ "RetryableWriteError" ] } }, "operation": { "name": "bulkWrite", "arguments": { "requests": [ { "name": "deleteOne", "arguments": { "filter": { "_id": 1 } } }, { "name": "insertOne", "arguments": { "document": { "_id": 3, "x": 33 } } }, { "name": "updateOne", "arguments": { "filter": { "_id": 2 }, "update": { "$inc": { "x": 1 } } } } ], "options": { "ordered": true } } }, "outcome": { "result": { "deletedCount": 1, "insertedCount": 1, "insertedIds": { "1": 3 }, "matchedCount": 1, "modifiedCount": 1, "upsertedCount": 0, "upsertedIds": {} }, "collection": { "data": [ { "_id": 2, "x": 23 }, { "_id": 3, "x": 33 } ] } } }, { "description": "BulkWrite succeeds after WriteConcernError ShutdownInProgress", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "insert" ], "writeConcernError": { "code": 91, "errmsg": "Replication is being shut down", "errorLabels": [ "RetryableWriteError" ] } } }, "operation": { "name": "bulkWrite", "arguments": { "requests": [ { "name": "deleteOne", "arguments": { "filter": { "_id": 1 } } }, { "name": "insertOne", "arguments": { "document": { "_id": 3, "x": 33 } } }, { "name": "updateOne", "arguments": { "filter": { "_id": 2 }, "update": { "$inc": { "x": 1 } } } } ], "options": { "ordered": true } } }, "outcome": { "result": { "deletedCount": 1, "insertedCount": 1, "insertedIds": { "1": 3 }, "matchedCount": 1, "modifiedCount": 1, "upsertedCount": 0, "upsertedIds": {} }, "collection": { "data": [ { "_id": 2, "x": 23 }, { "_id": 3, "x": 33 } ] } } }, { "description": "BulkWrite fails with a RetryableWriteError label after two connection failures", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 2 }, "data": { "failCommands": [ "update" ], "closeConnection": true } }, "operation": { "name": "bulkWrite", "arguments": { "requests": [ { "name": "deleteOne", "arguments": { "filter": { "_id": 1 } } }, { "name": "insertOne", "arguments": { "document": { "_id": 3, "x": 33 } } }, { "name": "updateOne", "arguments": { "filter": { "_id": 2 }, "update": { "$inc": { "x": 1 } } } } ], "options": { "ordered": true } } }, "outcome": { "error": true, "result": { "errorLabelsContain": [ "RetryableWriteError" ] }, "collection": { "data": [ { "_id": 2, "x": 22 }, { "_id": 3, "x": 33 } ] } } } ] }