1{
2 "description": "sharded-logging",
3 "schemaVersion": "1.16",
4 "runOnRequirements": [
5 {
6 "topologies": [
7 "sharded"
8 ],
9 "minServerVersion": "4.4"
10 }
11 ],
12 "createEntities": [
13 {
14 "client": {
15 "id": "setupClient",
16 "useMultipleMongoses": false
17 }
18 }
19 ],
20 "tests": [
21 {
22 "description": "Topology lifecycle",
23 "operations": [
24 {
25 "name": "createEntities",
26 "object": "testRunner",
27 "arguments": {
28 "entities": [
29 {
30 "client": {
31 "id": "client",
32 "observeLogMessages": {
33 "topology": "debug"
34 },
35 "observeEvents": [
36 "topologyDescriptionChangedEvent"
37 ],
38 "useMultipleMongoses": true
39 }
40 }
41 ]
42 }
43 },
44 {
45 "name": "waitForEvent",
46 "object": "testRunner",
47 "arguments": {
48 "client": "client",
49 "event": {
50 "topologyDescriptionChangedEvent": {}
51 },
52 "count": 3
53 }
54 },
55 {
56 "name": "close",
57 "object": "client"
58 }
59 ],
60 "expectLogMessages": [
61 {
62 "client": "client",
63 "ignoreMessages": [
64 {
65 "level": "debug",
66 "component": "topology",
67 "data": {
68 "message": "Starting server monitoring"
69 }
70 },
71 {
72 "level": "debug",
73 "component": "topology",
74 "data": {
75 "message": "Server heartbeat started"
76 }
77 },
78 {
79 "level": "debug",
80 "component": "topology",
81 "data": {
82 "message": "Server heartbeat succeeded"
83 }
84 },
85 {
86 "level": "debug",
87 "component": "topology",
88 "data": {
89 "message": "Server heartbeat failed"
90 }
91 }
92 ],
93 "messages": [
94 {
95 "level": "debug",
96 "component": "topology",
97 "data": {
98 "message": "Starting topology monitoring",
99 "topologyId": {
100 "$$exists": true
101 }
102 }
103 },
104 {
105 "level": "debug",
106 "component": "topology",
107 "data": {
108 "message": "Topology description changed",
109 "topologyId": {
110 "$$exists": true
111 },
112 "previousDescription": {
113 "$$exists": true
114 },
115 "newDescription": {
116 "$$exists": true
117 }
118 }
119 },
120 {
121 "level": "debug",
122 "component": "topology",
123 "data": {
124 "message": "Topology description changed",
125 "topologyId": {
126 "$$exists": true
127 },
128 "previousDescription": {
129 "$$exists": true
130 },
131 "newDescription": {
132 "$$exists": true
133 }
134 }
135 },
136 {
137 "level": "debug",
138 "component": "topology",
139 "data": {
140 "message": "Topology description changed",
141 "topologyId": {
142 "$$exists": true
143 },
144 "previousDescription": {
145 "$$exists": true
146 },
147 "newDescription": {
148 "$$exists": true
149 }
150 }
151 },
152 {
153 "level": "debug",
154 "component": "topology",
155 "data": {
156 "message": "Stopped server monitoring",
157 "topologyId": {
158 "$$exists": true
159 },
160 "serverHost": {
161 "$$type": "string"
162 },
163 "serverPort": {
164 "$$type": [
165 "int",
166 "long"
167 ]
168 }
169 }
170 },
171 {
172 "level": "debug",
173 "component": "topology",
174 "data": {
175 "message": "Stopped server monitoring",
176 "topologyId": {
177 "$$exists": true
178 },
179 "serverHost": {
180 "$$type": "string"
181 },
182 "serverPort": {
183 "$$type": [
184 "int",
185 "long"
186 ]
187 }
188 }
189 },
190 {
191 "level": "debug",
192 "component": "topology",
193 "data": {
194 "message": "Stopped topology monitoring",
195 "topologyId": {
196 "$$exists": true
197 }
198 }
199 }
200 ]
201 }
202 ]
203 },
204 {
205 "description": "Successful heartbeat",
206 "operations": [
207 {
208 "name": "createEntities",
209 "object": "testRunner",
210 "arguments": {
211 "entities": [
212 {
213 "client": {
214 "id": "client",
215 "observeLogMessages": {
216 "topology": "debug"
217 },
218 "observeEvents": [
219 "serverHeartbeatSucceededEvent"
220 ]
221 }
222 }
223 ]
224 }
225 },
226 {
227 "name": "waitForEvent",
228 "object": "testRunner",
229 "arguments": {
230 "client": "client",
231 "event": {
232 "serverHeartbeatSucceededEvent": {}
233 },
234 "count": 1
235 }
236 }
237 ],
238 "expectLogMessages": [
239 {
240 "client": "client",
241 "ignoreExtraMessages": true,
242 "ignoreMessages": [
243 {
244 "level": "debug",
245 "component": "topology",
246 "data": {
247 "message": "Server heartbeat started"
248 }
249 },
250 {
251 "level": "debug",
252 "component": "topology",
253 "data": {
254 "message": "Starting server monitoring"
255 }
256 },
257 {
258 "level": "debug",
259 "component": "topology",
260 "data": {
261 "message": "Stopped server monitoring"
262 }
263 },
264 {
265 "level": "debug",
266 "component": "topology",
267 "data": {
268 "message": "Topology description changed"
269 }
270 }
271 ],
272 "messages": [
273 {
274 "level": "debug",
275 "component": "topology",
276 "data": {
277 "message": "Starting topology monitoring",
278 "topologyId": {
279 "$$exists": true
280 }
281 }
282 },
283 {
284 "level": "debug",
285 "component": "topology",
286 "data": {
287 "message": "Server heartbeat succeeded",
288 "awaited": {
289 "$$exists": true
290 },
291 "topologyId": {
292 "$$exists": true
293 },
294 "serverHost": {
295 "$$type": "string"
296 },
297 "serverPort": {
298 "$$type": [
299 "int",
300 "long"
301 ]
302 },
303 "driverConnectionId": {
304 "$$exists": true
305 },
306 "serverConnectionId": {
307 "$$exists": true
308 },
309 "durationMS": {
310 "$$type": [
311 "int",
312 "long"
313 ]
314 },
315 "reply": {
316 "$$matchAsDocument": {
317 "$$matchAsRoot": {
318 "ok": 1
319 }
320 }
321 }
322 }
323 }
324 ]
325 }
326 ]
327 },
328 {
329 "description": "Failing heartbeat",
330 "operations": [
331 {
332 "name": "createEntities",
333 "object": "testRunner",
334 "arguments": {
335 "entities": [
336 {
337 "client": {
338 "id": "client",
339 "observeLogMessages": {
340 "topology": "debug"
341 },
342 "observeEvents": [
343 "serverHeartbeatStartedEvent",
344 "serverHeartbeatFailedEvent"
345 ],
346 "uriOptions": {
347 "appname": "failingHeartbeatLoggingTest"
348 }
349 }
350 }
351 ]
352 }
353 },
354 {
355 "name": "failPoint",
356 "object": "testRunner",
357 "arguments": {
358 "failPoint": {
359 "configureFailPoint": "failCommand",
360 "mode": "alwaysOn",
361 "data": {
362 "failCommands": [
363 "hello",
364 "isMaster"
365 ],
366 "appName": "failingHeartbeatLoggingTest",
367 "closeConnection": true
368 }
369 },
370 "client": "setupClient"
371 }
372 },
373 {
374 "name": "waitForEvent",
375 "object": "testRunner",
376 "arguments": {
377 "client": "client",
378 "event": {
379 "serverHeartbeatFailedEvent": {}
380 },
381 "count": 1
382 }
383 }
384 ],
385 "expectLogMessages": [
386 {
387 "client": "client",
388 "ignoreExtraMessages": true,
389 "ignoreMessages": [
390 {
391 "level": "debug",
392 "component": "topology",
393 "data": {
394 "message": "Server heartbeat started"
395 }
396 },
397 {
398 "level": "debug",
399 "component": "topology",
400 "data": {
401 "message": "Server heartbeat succeeded"
402 }
403 },
404 {
405 "level": "debug",
406 "component": "topology",
407 "data": {
408 "message": "Starting server monitoring"
409 }
410 },
411 {
412 "level": "debug",
413 "component": "topology",
414 "data": {
415 "message": "Stopped server monitoring"
416 }
417 },
418 {
419 "level": "debug",
420 "component": "topology",
421 "data": {
422 "message": "Topology description changed"
423 }
424 }
425 ],
426 "messages": [
427 {
428 "level": "debug",
429 "component": "topology",
430 "data": {
431 "message": "Starting topology monitoring",
432 "topologyId": {
433 "$$exists": true
434 }
435 }
436 },
437 {
438 "level": "debug",
439 "component": "topology",
440 "data": {
441 "message": "Server heartbeat failed",
442 "awaited": {
443 "$$exists": true
444 },
445 "topologyId": {
446 "$$exists": true
447 },
448 "serverHost": {
449 "$$type": "string"
450 },
451 "serverPort": {
452 "$$type": [
453 "int",
454 "long"
455 ]
456 },
457 "driverConnectionId": {
458 "$$exists": true
459 },
460 "durationMS": {
461 "$$type": [
462 "int",
463 "long"
464 ]
465 },
466 "failure": {
467 "$$exists": true
468 }
469 }
470 }
471 ]
472 }
473 ]
474 }
475 ]
476}
View as plain text