192
192
}
193
193
}
194
194
},
195
+ {
196
+ "description" : " Dirty explicit session is discarded (non-bulk write)" ,
197
+ "clientOptions" : {
198
+ "retryWrites" : true
199
+ },
200
+ "failPoint" : {
201
+ "configureFailPoint" : " failCommand" ,
202
+ "mode" : {
203
+ "times" : 1
204
+ },
205
+ "data" : {
206
+ "failCommands" : [
207
+ " findAndModify"
208
+ ],
209
+ "closeConnection" : true
210
+ }
211
+ },
212
+ "operations" : [
213
+ {
214
+ "name" : " assertSessionNotDirty" ,
215
+ "object" : " testRunner" ,
216
+ "arguments" : {
217
+ "session" : " session0"
218
+ }
219
+ },
220
+ {
221
+ "name" : " findOneAndUpdate" ,
222
+ "object" : " collection" ,
223
+ "arguments" : {
224
+ "session" : " session0" ,
225
+ "filter" : {
226
+ "_id" : 1
227
+ },
228
+ "update" : {
229
+ "$inc" : {
230
+ "x" : 1
231
+ }
232
+ },
233
+ "returnDocument" : " Before"
234
+ },
235
+ "result" : {
236
+ "_id" : 1
237
+ }
238
+ },
239
+ {
240
+ "name" : " assertSessionDirty" ,
241
+ "object" : " testRunner" ,
242
+ "arguments" : {
243
+ "session" : " session0"
244
+ }
245
+ },
246
+ {
247
+ "name" : " endSession" ,
248
+ "object" : " session0"
249
+ },
250
+ {
251
+ "name" : " find" ,
252
+ "object" : " collection" ,
253
+ "arguments" : {
254
+ "filter" : {
255
+ "_id" : -1
256
+ }
257
+ },
258
+ "result" : []
259
+ },
260
+ {
261
+ "name" : " assertDifferentLsidOnLastTwoCommands" ,
262
+ "object" : " testRunner"
263
+ }
264
+ ],
265
+ "expectations" : [
266
+ {
267
+ "command_started_event" : {
268
+ "command" : {
269
+ "findAndModify" : " test" ,
270
+ "query" : {
271
+ "_id" : 1
272
+ },
273
+ "update" : {
274
+ "$inc" : {
275
+ "x" : 1
276
+ }
277
+ },
278
+ "new" : false ,
279
+ "lsid" : " session0" ,
280
+ "txnNumber" : {
281
+ "$numberLong" : " 1"
282
+ },
283
+ "readConcern" : null ,
284
+ "writeConcern" : null
285
+ },
286
+ "command_name" : " findAndModify" ,
287
+ "database_name" : " session-tests"
288
+ }
289
+ },
290
+ {
291
+ "command_started_event" : {
292
+ "command" : {
293
+ "findAndModify" : " test" ,
294
+ "query" : {
295
+ "_id" : 1
296
+ },
297
+ "update" : {
298
+ "$inc" : {
299
+ "x" : 1
300
+ }
301
+ },
302
+ "new" : false ,
303
+ "lsid" : " session0" ,
304
+ "txnNumber" : {
305
+ "$numberLong" : " 1"
306
+ },
307
+ "readConcern" : null ,
308
+ "writeConcern" : null
309
+ },
310
+ "command_name" : " findAndModify" ,
311
+ "database_name" : " session-tests"
312
+ }
313
+ },
314
+ {
315
+ "command_started_event" : {
316
+ "command" : {
317
+ "find" : " test" ,
318
+ "filter" : {
319
+ "_id" : -1
320
+ }
321
+ },
322
+ "command_name" : " find" ,
323
+ "database_name" : " session-tests"
324
+ }
325
+ }
326
+ ],
327
+ "outcome" : {
328
+ "collection" : {
329
+ "data" : [
330
+ {
331
+ "_id" : 1 ,
332
+ "x" : 1
333
+ }
334
+ ]
335
+ }
336
+ }
337
+ },
195
338
{
196
339
"description" : " Dirty implicit session is discarded (write)" ,
197
340
"clientOptions" : {
300
443
}
301
444
}
302
445
},
446
+ {
447
+ "description" : " Dirty implicit session is discarded (non-bulk write)" ,
448
+ "clientOptions" : {
449
+ "retryWrites" : true
450
+ },
451
+ "failPoint" : {
452
+ "configureFailPoint" : " failCommand" ,
453
+ "mode" : {
454
+ "times" : 1
455
+ },
456
+ "data" : {
457
+ "failCommands" : [
458
+ " findAndModify"
459
+ ],
460
+ "closeConnection" : true
461
+ }
462
+ },
463
+ "operations" : [
464
+ {
465
+ "name" : " findOneAndUpdate" ,
466
+ "object" : " collection" ,
467
+ "arguments" : {
468
+ "filter" : {
469
+ "_id" : 1
470
+ },
471
+ "update" : {
472
+ "$inc" : {
473
+ "x" : 1
474
+ }
475
+ },
476
+ "returnDocument" : " Before"
477
+ },
478
+ "result" : {
479
+ "_id" : 1
480
+ }
481
+ },
482
+ {
483
+ "name" : " find" ,
484
+ "object" : " collection" ,
485
+ "arguments" : {
486
+ "filter" : {
487
+ "_id" : -1
488
+ }
489
+ },
490
+ "result" : []
491
+ },
492
+ {
493
+ "name" : " assertDifferentLsidOnLastTwoCommands" ,
494
+ "object" : " testRunner"
495
+ }
496
+ ],
497
+ "expectations" : [
498
+ {
499
+ "command_started_event" : {
500
+ "command" : {
501
+ "findAndModify" : " test" ,
502
+ "query" : {
503
+ "_id" : 1
504
+ },
505
+ "update" : {
506
+ "$inc" : {
507
+ "x" : 1
508
+ }
509
+ },
510
+ "new" : false ,
511
+ "txnNumber" : {
512
+ "$numberLong" : " 1"
513
+ },
514
+ "readConcern" : null ,
515
+ "writeConcern" : null
516
+ },
517
+ "command_name" : " findAndModify" ,
518
+ "database_name" : " session-tests"
519
+ }
520
+ },
521
+ {
522
+ "command_started_event" : {
523
+ "command" : {
524
+ "findAndModify" : " test" ,
525
+ "query" : {
526
+ "_id" : 1
527
+ },
528
+ "update" : {
529
+ "$inc" : {
530
+ "x" : 1
531
+ }
532
+ },
533
+ "new" : false ,
534
+ "txnNumber" : {
535
+ "$numberLong" : " 1"
536
+ },
537
+ "readConcern" : null ,
538
+ "writeConcern" : null
539
+ },
540
+ "command_name" : " findAndModify" ,
541
+ "database_name" : " session-tests"
542
+ }
543
+ },
544
+ {
545
+ "command_started_event" : {
546
+ "command" : {
547
+ "find" : " test" ,
548
+ "filter" : {
549
+ "_id" : -1
550
+ }
551
+ },
552
+ "command_name" : " find" ,
553
+ "database_name" : " session-tests"
554
+ }
555
+ }
556
+ ],
557
+ "outcome" : {
558
+ "collection" : {
559
+ "data" : [
560
+ {
561
+ "_id" : 1 ,
562
+ "x" : 1
563
+ }
564
+ ]
565
+ }
566
+ }
567
+ },
303
568
{
304
569
"description" : " Dirty implicit session is discarded (read)" ,
305
570
"failPoint" : {
353
618
]
354
619
}
355
620
}
621
+ },
622
+ {
623
+ "description" : " Dirty implicit session is discarded (non-cursor returning read)" ,
624
+ "failPoint" : {
625
+ "configureFailPoint" : " failCommand" ,
626
+ "mode" : {
627
+ "times" : 2
628
+ },
629
+ "data" : {
630
+ "failCommands" : [
631
+ " aggregate"
632
+ ],
633
+ "closeConnection" : true
634
+ }
635
+ },
636
+ "operations" : [
637
+ {
638
+ "name" : " countDocuments" ,
639
+ "object" : " collection" ,
640
+ "arguments" : {
641
+ "filter" : {}
642
+ },
643
+ "error" : true
644
+ },
645
+ {
646
+ "name" : " find" ,
647
+ "object" : " collection" ,
648
+ "arguments" : {
649
+ "filter" : {
650
+ "_id" : -1
651
+ }
652
+ },
653
+ "result" : []
654
+ },
655
+ {
656
+ "name" : " assertDifferentLsidOnLastTwoCommands" ,
657
+ "object" : " testRunner"
658
+ }
659
+ ],
660
+ "outcome" : {
661
+ "collection" : {
662
+ "data" : [
663
+ {
664
+ "_id" : 1
665
+ }
666
+ ]
667
+ }
668
+ }
356
669
}
357
670
]
358
- }
671
+ }
0 commit comments