{ "runOn": [ { "minServerVersion": "4.0", "topology": [ "single", "replicaset" ] }, { "minServerVersion": "4.1.7", "topology": [ "sharded", "load-balanced" ] } ], "database_name": "retryable-reads-tests", "collection_name": "coll", "data": [ { "_id": 1, "x": 11 }, { "_id": 2, "x": 22 } ], "tests": [ { "description": "CountDocuments succeeds on first attempt", "operations": [ { "name": "countDocuments", "object": "collection", "arguments": { "filter": {} }, "result": 2 } ], "expectations": [ { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } } ] }, { "description": "CountDocuments succeeds on second attempt", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "aggregate" ], "closeConnection": true } }, "operations": [ { "name": "countDocuments", "object": "collection", "arguments": { "filter": {} }, "result": 2 } ], "expectations": [ { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } }, { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } } ] }, { "description": "CountDocuments fails on first attempt", "clientOptions": { "retryReads": false }, "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 1 }, "data": { "failCommands": [ "aggregate" ], "closeConnection": true } }, "operations": [ { "name": "countDocuments", "object": "collection", "arguments": { "filter": {} }, "error": true } ], "expectations": [ { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } } ] }, { "description": "CountDocuments fails on second attempt", "failPoint": { "configureFailPoint": "failCommand", "mode": { "times": 2 }, "data": { "failCommands": [ "aggregate" ], "closeConnection": true } }, "operations": [ { "name": "countDocuments", "object": "collection", "arguments": { "filter": {} }, "error": true } ], "expectations": [ { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } }, { "command_started_event": { "command": { "aggregate": "coll", "pipeline": [ { "$match": {} }, { "$group": { "_id": 1, "n": { "$sum": 1 } } } ] }, "database_name": "retryable-reads-tests" } } ] } ] }