...
1runOn:
2 -
3 minServerVersion: "4.0"
4 topology: ["single", "replicaset"]
5 -
6 minServerVersion: "4.1.7"
7 topology: ["sharded", "load-balanced"]
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
16tests:
17 -
18 description: "Count succeeds on first attempt"
19 operations:
20 - &retryable_operation_succeeds
21 <<: &retryable_operation
22 name: count
23 object: collection
24 arguments: { filter: { } }
25 result: 2
26 expectations:
27 - &retryable_command_started_event
28 command_started_event:
29 command:
30 count: *collection_name
31 database_name: *database_name
32 -
33 description: "Count succeeds on second attempt"
34 failPoint: &failCommand_failPoint
35 configureFailPoint: failCommand
36 mode: { times: 1 }
37 data:
38 failCommands: [count]
39 closeConnection: true
40
41 operations: [*retryable_operation_succeeds]
42 expectations:
43 - *retryable_command_started_event
44 - *retryable_command_started_event
45 -
46 description: "Count fails on first attempt"
47 clientOptions:
48 retryReads: false
49 failPoint: *failCommand_failPoint
50 operations:
51 - &retryable_operation_fails
52 <<: *retryable_operation
53 error: true
54 expectations:
55 - *retryable_command_started_event
56 -
57 description: "Count fails on second attempt"
58 failPoint:
59 <<: *failCommand_failPoint
60 mode: { times: 2 }
61 operations: [*retryable_operation_fails]
62 expectations:
63 - *retryable_command_started_event
64 - *retryable_command_started_event
View as plain text