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