...
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: "CountDocuments succeeds after InterruptedAtShutdown"
19 failPoint: &failCommand_failPoint
20 configureFailPoint: failCommand
21 mode: { times: 1 }
22 data: { failCommands: [aggregate], errorCode: 11600 }
23 operations:
24 - &retryable_operation_succeeds
25 <<: &retryable_operation
26 name: countDocuments
27 object: collection
28 arguments: { filter: { } }
29 result: 2
30 expectations:
31 - &retryable_command_started_event
32 command_started_event:
33 command:
34 aggregate: *collection_name
35 pipeline: [{'$match': {}}, {'$group': {'_id': 1, 'n': {'$sum': 1}}}]
36 database_name: *database_name
37 - *retryable_command_started_event
38 -
39 description: "CountDocuments succeeds after InterruptedDueToReplStateChange"
40 failPoint:
41 <<: *failCommand_failPoint
42 data: { failCommands: [aggregate], errorCode: 11602 }
43 operations: [*retryable_operation_succeeds]
44 expectations:
45 - *retryable_command_started_event
46 - *retryable_command_started_event
47 -
48 description: "CountDocuments succeeds after NotWritablePrimary"
49 failPoint:
50 <<: *failCommand_failPoint
51 data: { failCommands: [aggregate], errorCode: 10107 }
52 operations: [*retryable_operation_succeeds]
53 expectations:
54 - *retryable_command_started_event
55 - *retryable_command_started_event
56 -
57 description: "CountDocuments succeeds after NotPrimaryNoSecondaryOk"
58 failPoint:
59 <<: *failCommand_failPoint
60 data: { failCommands: [aggregate], errorCode: 13435 }
61 operations: [*retryable_operation_succeeds]
62 expectations:
63 - *retryable_command_started_event
64 - *retryable_command_started_event
65 -
66 description: "CountDocuments succeeds after NotPrimaryOrSecondary"
67 failPoint:
68 <<: *failCommand_failPoint
69 data: { failCommands: [aggregate], errorCode: 13436 }
70 operations: [*retryable_operation_succeeds]
71 expectations:
72 - *retryable_command_started_event
73 - *retryable_command_started_event
74 -
75 description: "CountDocuments succeeds after PrimarySteppedDown"
76 failPoint:
77 <<: *failCommand_failPoint
78 data: { failCommands: [aggregate], errorCode: 189 }
79 operations: [*retryable_operation_succeeds]
80 expectations:
81 - *retryable_command_started_event
82 - *retryable_command_started_event
83 -
84 description: "CountDocuments succeeds after ShutdownInProgress"
85 failPoint:
86 <<: *failCommand_failPoint
87 data: { failCommands: [aggregate], errorCode: 91 }
88 operations: [*retryable_operation_succeeds]
89 expectations:
90 - *retryable_command_started_event
91 - *retryable_command_started_event
92 -
93 description: "CountDocuments succeeds after HostNotFound"
94 failPoint:
95 <<: *failCommand_failPoint
96 data: { failCommands: [aggregate], errorCode: 7 }
97 operations: [*retryable_operation_succeeds]
98 expectations:
99 - *retryable_command_started_event
100 - *retryable_command_started_event
101 -
102 description: "CountDocuments succeeds after HostUnreachable"
103 failPoint:
104 <<: *failCommand_failPoint
105 data: { failCommands: [aggregate], errorCode: 6 }
106 operations: [*retryable_operation_succeeds]
107 expectations:
108 - *retryable_command_started_event
109 - *retryable_command_started_event
110 -
111 description: "CountDocuments succeeds after NetworkTimeout"
112 failPoint:
113 <<: *failCommand_failPoint
114 data: { failCommands: [aggregate], errorCode: 89 }
115 operations: [*retryable_operation_succeeds]
116 expectations:
117 - *retryable_command_started_event
118 - *retryable_command_started_event
119 -
120 description: "CountDocuments succeeds after SocketException"
121 failPoint:
122 <<: *failCommand_failPoint
123 data: { failCommands: [aggregate], errorCode: 9001 }
124 operations: [*retryable_operation_succeeds]
125 expectations:
126 - *retryable_command_started_event
127 - *retryable_command_started_event
128 -
129 description: "CountDocuments fails after two NotWritablePrimary errors"
130 failPoint:
131 <<: *failCommand_failPoint
132 mode: { times: 2 }
133 data: { failCommands: [aggregate], errorCode: 10107 }
134 operations:
135 - &retryable_operation_fails
136 <<: *retryable_operation
137 error: true
138 expectations:
139 - *retryable_command_started_event
140 - *retryable_command_started_event
141 -
142 description: "CountDocuments fails after NotWritablePrimary when retryReads is false"
143 clientOptions:
144 retryReads: false
145 failPoint:
146 <<: *failCommand_failPoint
147 data: { failCommands: [aggregate], errorCode: 10107 }
148 operations: [*retryable_operation_fails]
149 expectations:
150 - *retryable_command_started_event
View as plain text