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