1runOn: 2 - 3 minServerVersion: "4.0" 4 topology: ["single", "replicaset"] 5 - 6 minServerVersion: "4.1.7" 7 topology: ["sharded"] 8 9database_name: &database_name "retryable-reads-tests" 10collection_name: &collection_name "coll" 11 12data: 13 - {_id: 1, x: 11} 14 - {_id: 2, x: 22} 15 - {_id: 3, x: 33} 16 17tests: 18 - 19 description: "Distinct succeeds on first attempt" 20 operations: 21 - &retryable_operation_succeeds 22 <<: &retryable_operation 23 name: distinct 24 object: collection 25 arguments: { fieldName: "x", filter: { _id: { $gt: 1 } } } 26 result: 27 - 22 28 - 33 29 expectations: 30 - &retryable_command_started_event 31 command_started_event: 32 command: 33 distinct: *collection_name 34 key: "x" 35 query: 36 _id: {$gt: 1} 37 database_name: *database_name 38 - 39 description: "Distinct succeeds on second attempt" 40 failPoint: &failCommand_failPoint 41 configureFailPoint: failCommand 42 mode: { times: 1 } 43 data: 44 failCommands: [distinct] 45 closeConnection: true 46 operations: [*retryable_operation_succeeds] 47 expectations: 48 - *retryable_command_started_event 49 - *retryable_command_started_event 50 - 51 description: "Distinct fails on first attempt" 52 clientOptions: 53 retryReads: false 54 failPoint: *failCommand_failPoint 55 operations: 56 - &retryable_operation_fails 57 <<: *retryable_operation 58 error: true 59 expectations: 60 - *retryable_command_started_event 61 62 - 63 description: "Distinct fails on second attempt" 64 failPoint: 65 <<: *failCommand_failPoint 66 mode: { times: 2 } 67 operations: [*retryable_operation_fails] 68 expectations: 69 - *retryable_command_started_event 70 - *retryable_command_started_event 71 72