...

Text file src/go.mongodb.org/mongo-driver/testdata/client-side-operations-timeout/override-operation-timeoutMS.json

Documentation: go.mongodb.org/mongo-driver/testdata/client-side-operations-timeout

     1{
     2  "description": "timeoutMS can be overridden for an operation",
     3  "schemaVersion": "1.9",
     4  "runOnRequirements": [
     5    {
     6      "minServerVersion": "4.4",
     7      "topologies": [
     8        "replicaset",
     9        "sharded-replicaset"
    10      ]
    11    }
    12  ],
    13  "createEntities": [
    14    {
    15      "client": {
    16        "id": "failPointClient",
    17        "useMultipleMongoses": false
    18      }
    19    },
    20    {
    21      "client": {
    22        "id": "client",
    23        "uriOptions": {
    24          "timeoutMS": 10
    25        },
    26        "useMultipleMongoses": false,
    27        "observeEvents": [
    28          "commandStartedEvent"
    29        ],
    30        "ignoreCommandMonitoringEvents": [
    31          "killCursors"
    32        ]
    33      }
    34    },
    35    {
    36      "database": {
    37        "id": "database",
    38        "client": "client",
    39        "databaseName": "test"
    40      }
    41    },
    42    {
    43      "collection": {
    44        "id": "collection",
    45        "database": "database",
    46        "collectionName": "coll"
    47      }
    48    }
    49  ],
    50  "initialData": [
    51    {
    52      "collectionName": "coll",
    53      "databaseName": "test",
    54      "documents": []
    55    }
    56  ],
    57  "tests": [
    58    {
    59      "description": "timeoutMS can be configured for an operation - listDatabases on client",
    60      "operations": [
    61        {
    62          "name": "failPoint",
    63          "object": "testRunner",
    64          "arguments": {
    65            "client": "failPointClient",
    66            "failPoint": {
    67              "configureFailPoint": "failCommand",
    68              "mode": {
    69                "times": 1
    70              },
    71              "data": {
    72                "failCommands": [
    73                  "listDatabases"
    74                ],
    75                "blockConnection": true,
    76                "blockTimeMS": 15
    77              }
    78            }
    79          }
    80        },
    81        {
    82          "name": "listDatabases",
    83          "object": "client",
    84          "arguments": {
    85            "timeoutMS": 1000,
    86            "filter": {}
    87          }
    88        }
    89      ],
    90      "expectEvents": [
    91        {
    92          "client": "client",
    93          "events": [
    94            {
    95              "commandStartedEvent": {
    96                "commandName": "listDatabases",
    97                "databaseName": "admin",
    98                "command": {
    99                  "listDatabases": 1,
   100                  "maxTimeMS": {
   101                    "$$type": [
   102                      "int",
   103                      "long"
   104                    ]
   105                  }
   106                }
   107              }
   108            }
   109          ]
   110        }
   111      ]
   112    },
   113    {
   114      "description": "timeoutMS can be set to 0 for an operation - listDatabases on client",
   115      "operations": [
   116        {
   117          "name": "failPoint",
   118          "object": "testRunner",
   119          "arguments": {
   120            "client": "failPointClient",
   121            "failPoint": {
   122              "configureFailPoint": "failCommand",
   123              "mode": {
   124                "times": 1
   125              },
   126              "data": {
   127                "failCommands": [
   128                  "listDatabases"
   129                ],
   130                "blockConnection": true,
   131                "blockTimeMS": 15
   132              }
   133            }
   134          }
   135        },
   136        {
   137          "name": "listDatabases",
   138          "object": "client",
   139          "arguments": {
   140            "timeoutMS": 0,
   141            "filter": {}
   142          }
   143        }
   144      ],
   145      "expectEvents": [
   146        {
   147          "client": "client",
   148          "events": [
   149            {
   150              "commandStartedEvent": {
   151                "commandName": "listDatabases",
   152                "databaseName": "admin",
   153                "command": {
   154                  "listDatabases": 1,
   155                  "maxTimeMS": {
   156                    "$$exists": false
   157                  }
   158                }
   159              }
   160            }
   161          ]
   162        }
   163      ]
   164    },
   165    {
   166      "description": "timeoutMS can be configured for an operation - listDatabaseNames on client",
   167      "operations": [
   168        {
   169          "name": "failPoint",
   170          "object": "testRunner",
   171          "arguments": {
   172            "client": "failPointClient",
   173            "failPoint": {
   174              "configureFailPoint": "failCommand",
   175              "mode": {
   176                "times": 1
   177              },
   178              "data": {
   179                "failCommands": [
   180                  "listDatabases"
   181                ],
   182                "blockConnection": true,
   183                "blockTimeMS": 15
   184              }
   185            }
   186          }
   187        },
   188        {
   189          "name": "listDatabaseNames",
   190          "object": "client",
   191          "arguments": {
   192            "timeoutMS": 1000
   193          }
   194        }
   195      ],
   196      "expectEvents": [
   197        {
   198          "client": "client",
   199          "events": [
   200            {
   201              "commandStartedEvent": {
   202                "commandName": "listDatabases",
   203                "databaseName": "admin",
   204                "command": {
   205                  "listDatabases": 1,
   206                  "maxTimeMS": {
   207                    "$$type": [
   208                      "int",
   209                      "long"
   210                    ]
   211                  }
   212                }
   213              }
   214            }
   215          ]
   216        }
   217      ]
   218    },
   219    {
   220      "description": "timeoutMS can be set to 0 for an operation - listDatabaseNames on client",
   221      "operations": [
   222        {
   223          "name": "failPoint",
   224          "object": "testRunner",
   225          "arguments": {
   226            "client": "failPointClient",
   227            "failPoint": {
   228              "configureFailPoint": "failCommand",
   229              "mode": {
   230                "times": 1
   231              },
   232              "data": {
   233                "failCommands": [
   234                  "listDatabases"
   235                ],
   236                "blockConnection": true,
   237                "blockTimeMS": 15
   238              }
   239            }
   240          }
   241        },
   242        {
   243          "name": "listDatabaseNames",
   244          "object": "client",
   245          "arguments": {
   246            "timeoutMS": 0
   247          }
   248        }
   249      ],
   250      "expectEvents": [
   251        {
   252          "client": "client",
   253          "events": [
   254            {
   255              "commandStartedEvent": {
   256                "commandName": "listDatabases",
   257                "databaseName": "admin",
   258                "command": {
   259                  "listDatabases": 1,
   260                  "maxTimeMS": {
   261                    "$$exists": false
   262                  }
   263                }
   264              }
   265            }
   266          ]
   267        }
   268      ]
   269    },
   270    {
   271      "description": "timeoutMS can be configured for an operation - createChangeStream on client",
   272      "operations": [
   273        {
   274          "name": "failPoint",
   275          "object": "testRunner",
   276          "arguments": {
   277            "client": "failPointClient",
   278            "failPoint": {
   279              "configureFailPoint": "failCommand",
   280              "mode": {
   281                "times": 1
   282              },
   283              "data": {
   284                "failCommands": [
   285                  "aggregate"
   286                ],
   287                "blockConnection": true,
   288                "blockTimeMS": 15
   289              }
   290            }
   291          }
   292        },
   293        {
   294          "name": "createChangeStream",
   295          "object": "client",
   296          "arguments": {
   297            "timeoutMS": 1000,
   298            "pipeline": []
   299          }
   300        }
   301      ],
   302      "expectEvents": [
   303        {
   304          "client": "client",
   305          "events": [
   306            {
   307              "commandStartedEvent": {
   308                "commandName": "aggregate",
   309                "databaseName": "admin",
   310                "command": {
   311                  "aggregate": 1,
   312                  "maxTimeMS": {
   313                    "$$type": [
   314                      "int",
   315                      "long"
   316                    ]
   317                  }
   318                }
   319              }
   320            }
   321          ]
   322        }
   323      ]
   324    },
   325    {
   326      "description": "timeoutMS can be set to 0 for an operation - createChangeStream on client",
   327      "operations": [
   328        {
   329          "name": "failPoint",
   330          "object": "testRunner",
   331          "arguments": {
   332            "client": "failPointClient",
   333            "failPoint": {
   334              "configureFailPoint": "failCommand",
   335              "mode": {
   336                "times": 1
   337              },
   338              "data": {
   339                "failCommands": [
   340                  "aggregate"
   341                ],
   342                "blockConnection": true,
   343                "blockTimeMS": 15
   344              }
   345            }
   346          }
   347        },
   348        {
   349          "name": "createChangeStream",
   350          "object": "client",
   351          "arguments": {
   352            "timeoutMS": 0,
   353            "pipeline": []
   354          }
   355        }
   356      ],
   357      "expectEvents": [
   358        {
   359          "client": "client",
   360          "events": [
   361            {
   362              "commandStartedEvent": {
   363                "commandName": "aggregate",
   364                "databaseName": "admin",
   365                "command": {
   366                  "aggregate": 1,
   367                  "maxTimeMS": {
   368                    "$$exists": false
   369                  }
   370                }
   371              }
   372            }
   373          ]
   374        }
   375      ]
   376    },
   377    {
   378      "description": "timeoutMS can be configured for an operation - aggregate on database",
   379      "operations": [
   380        {
   381          "name": "failPoint",
   382          "object": "testRunner",
   383          "arguments": {
   384            "client": "failPointClient",
   385            "failPoint": {
   386              "configureFailPoint": "failCommand",
   387              "mode": {
   388                "times": 1
   389              },
   390              "data": {
   391                "failCommands": [
   392                  "aggregate"
   393                ],
   394                "blockConnection": true,
   395                "blockTimeMS": 15
   396              }
   397            }
   398          }
   399        },
   400        {
   401          "name": "aggregate",
   402          "object": "database",
   403          "arguments": {
   404            "timeoutMS": 1000,
   405            "pipeline": [
   406              {
   407                "$listLocalSessions": {}
   408              },
   409              {
   410                "$limit": 1
   411              }
   412            ]
   413          }
   414        }
   415      ],
   416      "expectEvents": [
   417        {
   418          "client": "client",
   419          "events": [
   420            {
   421              "commandStartedEvent": {
   422                "commandName": "aggregate",
   423                "databaseName": "test",
   424                "command": {
   425                  "aggregate": 1,
   426                  "maxTimeMS": {
   427                    "$$type": [
   428                      "int",
   429                      "long"
   430                    ]
   431                  }
   432                }
   433              }
   434            }
   435          ]
   436        }
   437      ]
   438    },
   439    {
   440      "description": "timeoutMS can be set to 0 for an operation - aggregate on database",
   441      "operations": [
   442        {
   443          "name": "failPoint",
   444          "object": "testRunner",
   445          "arguments": {
   446            "client": "failPointClient",
   447            "failPoint": {
   448              "configureFailPoint": "failCommand",
   449              "mode": {
   450                "times": 1
   451              },
   452              "data": {
   453                "failCommands": [
   454                  "aggregate"
   455                ],
   456                "blockConnection": true,
   457                "blockTimeMS": 15
   458              }
   459            }
   460          }
   461        },
   462        {
   463          "name": "aggregate",
   464          "object": "database",
   465          "arguments": {
   466            "timeoutMS": 0,
   467            "pipeline": [
   468              {
   469                "$listLocalSessions": {}
   470              },
   471              {
   472                "$limit": 1
   473              }
   474            ]
   475          }
   476        }
   477      ],
   478      "expectEvents": [
   479        {
   480          "client": "client",
   481          "events": [
   482            {
   483              "commandStartedEvent": {
   484                "commandName": "aggregate",
   485                "databaseName": "test",
   486                "command": {
   487                  "aggregate": 1,
   488                  "maxTimeMS": {
   489                    "$$exists": false
   490                  }
   491                }
   492              }
   493            }
   494          ]
   495        }
   496      ]
   497    },
   498    {
   499      "description": "timeoutMS can be configured for an operation - listCollections on database",
   500      "operations": [
   501        {
   502          "name": "failPoint",
   503          "object": "testRunner",
   504          "arguments": {
   505            "client": "failPointClient",
   506            "failPoint": {
   507              "configureFailPoint": "failCommand",
   508              "mode": {
   509                "times": 1
   510              },
   511              "data": {
   512                "failCommands": [
   513                  "listCollections"
   514                ],
   515                "blockConnection": true,
   516                "blockTimeMS": 15
   517              }
   518            }
   519          }
   520        },
   521        {
   522          "name": "listCollections",
   523          "object": "database",
   524          "arguments": {
   525            "timeoutMS": 1000,
   526            "filter": {}
   527          }
   528        }
   529      ],
   530      "expectEvents": [
   531        {
   532          "client": "client",
   533          "events": [
   534            {
   535              "commandStartedEvent": {
   536                "commandName": "listCollections",
   537                "databaseName": "test",
   538                "command": {
   539                  "listCollections": 1,
   540                  "maxTimeMS": {
   541                    "$$type": [
   542                      "int",
   543                      "long"
   544                    ]
   545                  }
   546                }
   547              }
   548            }
   549          ]
   550        }
   551      ]
   552    },
   553    {
   554      "description": "timeoutMS can be set to 0 for an operation - listCollections on database",
   555      "operations": [
   556        {
   557          "name": "failPoint",
   558          "object": "testRunner",
   559          "arguments": {
   560            "client": "failPointClient",
   561            "failPoint": {
   562              "configureFailPoint": "failCommand",
   563              "mode": {
   564                "times": 1
   565              },
   566              "data": {
   567                "failCommands": [
   568                  "listCollections"
   569                ],
   570                "blockConnection": true,
   571                "blockTimeMS": 15
   572              }
   573            }
   574          }
   575        },
   576        {
   577          "name": "listCollections",
   578          "object": "database",
   579          "arguments": {
   580            "timeoutMS": 0,
   581            "filter": {}
   582          }
   583        }
   584      ],
   585      "expectEvents": [
   586        {
   587          "client": "client",
   588          "events": [
   589            {
   590              "commandStartedEvent": {
   591                "commandName": "listCollections",
   592                "databaseName": "test",
   593                "command": {
   594                  "listCollections": 1,
   595                  "maxTimeMS": {
   596                    "$$exists": false
   597                  }
   598                }
   599              }
   600            }
   601          ]
   602        }
   603      ]
   604    },
   605    {
   606      "description": "timeoutMS can be configured for an operation - listCollectionNames on database",
   607      "operations": [
   608        {
   609          "name": "failPoint",
   610          "object": "testRunner",
   611          "arguments": {
   612            "client": "failPointClient",
   613            "failPoint": {
   614              "configureFailPoint": "failCommand",
   615              "mode": {
   616                "times": 1
   617              },
   618              "data": {
   619                "failCommands": [
   620                  "listCollections"
   621                ],
   622                "blockConnection": true,
   623                "blockTimeMS": 15
   624              }
   625            }
   626          }
   627        },
   628        {
   629          "name": "listCollectionNames",
   630          "object": "database",
   631          "arguments": {
   632            "timeoutMS": 1000,
   633            "filter": {}
   634          }
   635        }
   636      ],
   637      "expectEvents": [
   638        {
   639          "client": "client",
   640          "events": [
   641            {
   642              "commandStartedEvent": {
   643                "commandName": "listCollections",
   644                "databaseName": "test",
   645                "command": {
   646                  "listCollections": 1,
   647                  "maxTimeMS": {
   648                    "$$type": [
   649                      "int",
   650                      "long"
   651                    ]
   652                  }
   653                }
   654              }
   655            }
   656          ]
   657        }
   658      ]
   659    },
   660    {
   661      "description": "timeoutMS can be set to 0 for an operation - listCollectionNames on database",
   662      "operations": [
   663        {
   664          "name": "failPoint",
   665          "object": "testRunner",
   666          "arguments": {
   667            "client": "failPointClient",
   668            "failPoint": {
   669              "configureFailPoint": "failCommand",
   670              "mode": {
   671                "times": 1
   672              },
   673              "data": {
   674                "failCommands": [
   675                  "listCollections"
   676                ],
   677                "blockConnection": true,
   678                "blockTimeMS": 15
   679              }
   680            }
   681          }
   682        },
   683        {
   684          "name": "listCollectionNames",
   685          "object": "database",
   686          "arguments": {
   687            "timeoutMS": 0,
   688            "filter": {}
   689          }
   690        }
   691      ],
   692      "expectEvents": [
   693        {
   694          "client": "client",
   695          "events": [
   696            {
   697              "commandStartedEvent": {
   698                "commandName": "listCollections",
   699                "databaseName": "test",
   700                "command": {
   701                  "listCollections": 1,
   702                  "maxTimeMS": {
   703                    "$$exists": false
   704                  }
   705                }
   706              }
   707            }
   708          ]
   709        }
   710      ]
   711    },
   712    {
   713      "description": "timeoutMS can be configured for an operation - runCommand on database",
   714      "operations": [
   715        {
   716          "name": "failPoint",
   717          "object": "testRunner",
   718          "arguments": {
   719            "client": "failPointClient",
   720            "failPoint": {
   721              "configureFailPoint": "failCommand",
   722              "mode": {
   723                "times": 1
   724              },
   725              "data": {
   726                "failCommands": [
   727                  "ping"
   728                ],
   729                "blockConnection": true,
   730                "blockTimeMS": 15
   731              }
   732            }
   733          }
   734        },
   735        {
   736          "name": "runCommand",
   737          "object": "database",
   738          "arguments": {
   739            "timeoutMS": 1000,
   740            "command": {
   741              "ping": 1
   742            },
   743            "commandName": "ping"
   744          }
   745        }
   746      ],
   747      "expectEvents": [
   748        {
   749          "client": "client",
   750          "events": [
   751            {
   752              "commandStartedEvent": {
   753                "commandName": "ping",
   754                "databaseName": "test",
   755                "command": {
   756                  "ping": 1,
   757                  "maxTimeMS": {
   758                    "$$type": [
   759                      "int",
   760                      "long"
   761                    ]
   762                  }
   763                }
   764              }
   765            }
   766          ]
   767        }
   768      ]
   769    },
   770    {
   771      "description": "timeoutMS can be set to 0 for an operation - runCommand on database",
   772      "operations": [
   773        {
   774          "name": "failPoint",
   775          "object": "testRunner",
   776          "arguments": {
   777            "client": "failPointClient",
   778            "failPoint": {
   779              "configureFailPoint": "failCommand",
   780              "mode": {
   781                "times": 1
   782              },
   783              "data": {
   784                "failCommands": [
   785                  "ping"
   786                ],
   787                "blockConnection": true,
   788                "blockTimeMS": 15
   789              }
   790            }
   791          }
   792        },
   793        {
   794          "name": "runCommand",
   795          "object": "database",
   796          "arguments": {
   797            "timeoutMS": 0,
   798            "command": {
   799              "ping": 1
   800            },
   801            "commandName": "ping"
   802          }
   803        }
   804      ],
   805      "expectEvents": [
   806        {
   807          "client": "client",
   808          "events": [
   809            {
   810              "commandStartedEvent": {
   811                "commandName": "ping",
   812                "databaseName": "test",
   813                "command": {
   814                  "ping": 1,
   815                  "maxTimeMS": {
   816                    "$$exists": false
   817                  }
   818                }
   819              }
   820            }
   821          ]
   822        }
   823      ]
   824    },
   825    {
   826      "description": "timeoutMS can be configured for an operation - createChangeStream on database",
   827      "operations": [
   828        {
   829          "name": "failPoint",
   830          "object": "testRunner",
   831          "arguments": {
   832            "client": "failPointClient",
   833            "failPoint": {
   834              "configureFailPoint": "failCommand",
   835              "mode": {
   836                "times": 1
   837              },
   838              "data": {
   839                "failCommands": [
   840                  "aggregate"
   841                ],
   842                "blockConnection": true,
   843                "blockTimeMS": 15
   844              }
   845            }
   846          }
   847        },
   848        {
   849          "name": "createChangeStream",
   850          "object": "database",
   851          "arguments": {
   852            "timeoutMS": 1000,
   853            "pipeline": []
   854          }
   855        }
   856      ],
   857      "expectEvents": [
   858        {
   859          "client": "client",
   860          "events": [
   861            {
   862              "commandStartedEvent": {
   863                "commandName": "aggregate",
   864                "databaseName": "test",
   865                "command": {
   866                  "aggregate": 1,
   867                  "maxTimeMS": {
   868                    "$$type": [
   869                      "int",
   870                      "long"
   871                    ]
   872                  }
   873                }
   874              }
   875            }
   876          ]
   877        }
   878      ]
   879    },
   880    {
   881      "description": "timeoutMS can be set to 0 for an operation - createChangeStream on database",
   882      "operations": [
   883        {
   884          "name": "failPoint",
   885          "object": "testRunner",
   886          "arguments": {
   887            "client": "failPointClient",
   888            "failPoint": {
   889              "configureFailPoint": "failCommand",
   890              "mode": {
   891                "times": 1
   892              },
   893              "data": {
   894                "failCommands": [
   895                  "aggregate"
   896                ],
   897                "blockConnection": true,
   898                "blockTimeMS": 15
   899              }
   900            }
   901          }
   902        },
   903        {
   904          "name": "createChangeStream",
   905          "object": "database",
   906          "arguments": {
   907            "timeoutMS": 0,
   908            "pipeline": []
   909          }
   910        }
   911      ],
   912      "expectEvents": [
   913        {
   914          "client": "client",
   915          "events": [
   916            {
   917              "commandStartedEvent": {
   918                "commandName": "aggregate",
   919                "databaseName": "test",
   920                "command": {
   921                  "aggregate": 1,
   922                  "maxTimeMS": {
   923                    "$$exists": false
   924                  }
   925                }
   926              }
   927            }
   928          ]
   929        }
   930      ]
   931    },
   932    {
   933      "description": "timeoutMS can be configured for an operation - aggregate on collection",
   934      "operations": [
   935        {
   936          "name": "failPoint",
   937          "object": "testRunner",
   938          "arguments": {
   939            "client": "failPointClient",
   940            "failPoint": {
   941              "configureFailPoint": "failCommand",
   942              "mode": {
   943                "times": 1
   944              },
   945              "data": {
   946                "failCommands": [
   947                  "aggregate"
   948                ],
   949                "blockConnection": true,
   950                "blockTimeMS": 15
   951              }
   952            }
   953          }
   954        },
   955        {
   956          "name": "aggregate",
   957          "object": "collection",
   958          "arguments": {
   959            "timeoutMS": 1000,
   960            "pipeline": []
   961          }
   962        }
   963      ],
   964      "expectEvents": [
   965        {
   966          "client": "client",
   967          "events": [
   968            {
   969              "commandStartedEvent": {
   970                "commandName": "aggregate",
   971                "databaseName": "test",
   972                "command": {
   973                  "aggregate": "coll",
   974                  "maxTimeMS": {
   975                    "$$type": [
   976                      "int",
   977                      "long"
   978                    ]
   979                  }
   980                }
   981              }
   982            }
   983          ]
   984        }
   985      ]
   986    },
   987    {
   988      "description": "timeoutMS can be set to 0 for an operation - aggregate on collection",
   989      "operations": [
   990        {
   991          "name": "failPoint",
   992          "object": "testRunner",
   993          "arguments": {
   994            "client": "failPointClient",
   995            "failPoint": {
   996              "configureFailPoint": "failCommand",
   997              "mode": {
   998                "times": 1
   999              },
  1000              "data": {
  1001                "failCommands": [
  1002                  "aggregate"
  1003                ],
  1004                "blockConnection": true,
  1005                "blockTimeMS": 15
  1006              }
  1007            }
  1008          }
  1009        },
  1010        {
  1011          "name": "aggregate",
  1012          "object": "collection",
  1013          "arguments": {
  1014            "timeoutMS": 0,
  1015            "pipeline": []
  1016          }
  1017        }
  1018      ],
  1019      "expectEvents": [
  1020        {
  1021          "client": "client",
  1022          "events": [
  1023            {
  1024              "commandStartedEvent": {
  1025                "commandName": "aggregate",
  1026                "databaseName": "test",
  1027                "command": {
  1028                  "aggregate": "coll",
  1029                  "maxTimeMS": {
  1030                    "$$exists": false
  1031                  }
  1032                }
  1033              }
  1034            }
  1035          ]
  1036        }
  1037      ]
  1038    },
  1039    {
  1040      "description": "timeoutMS can be configured for an operation - count on collection",
  1041      "operations": [
  1042        {
  1043          "name": "failPoint",
  1044          "object": "testRunner",
  1045          "arguments": {
  1046            "client": "failPointClient",
  1047            "failPoint": {
  1048              "configureFailPoint": "failCommand",
  1049              "mode": {
  1050                "times": 1
  1051              },
  1052              "data": {
  1053                "failCommands": [
  1054                  "count"
  1055                ],
  1056                "blockConnection": true,
  1057                "blockTimeMS": 15
  1058              }
  1059            }
  1060          }
  1061        },
  1062        {
  1063          "name": "count",
  1064          "object": "collection",
  1065          "arguments": {
  1066            "timeoutMS": 1000,
  1067            "filter": {}
  1068          }
  1069        }
  1070      ],
  1071      "expectEvents": [
  1072        {
  1073          "client": "client",
  1074          "events": [
  1075            {
  1076              "commandStartedEvent": {
  1077                "commandName": "count",
  1078                "databaseName": "test",
  1079                "command": {
  1080                  "count": "coll",
  1081                  "maxTimeMS": {
  1082                    "$$type": [
  1083                      "int",
  1084                      "long"
  1085                    ]
  1086                  }
  1087                }
  1088              }
  1089            }
  1090          ]
  1091        }
  1092      ]
  1093    },
  1094    {
  1095      "description": "timeoutMS can be set to 0 for an operation - count on collection",
  1096      "operations": [
  1097        {
  1098          "name": "failPoint",
  1099          "object": "testRunner",
  1100          "arguments": {
  1101            "client": "failPointClient",
  1102            "failPoint": {
  1103              "configureFailPoint": "failCommand",
  1104              "mode": {
  1105                "times": 1
  1106              },
  1107              "data": {
  1108                "failCommands": [
  1109                  "count"
  1110                ],
  1111                "blockConnection": true,
  1112                "blockTimeMS": 15
  1113              }
  1114            }
  1115          }
  1116        },
  1117        {
  1118          "name": "count",
  1119          "object": "collection",
  1120          "arguments": {
  1121            "timeoutMS": 0,
  1122            "filter": {}
  1123          }
  1124        }
  1125      ],
  1126      "expectEvents": [
  1127        {
  1128          "client": "client",
  1129          "events": [
  1130            {
  1131              "commandStartedEvent": {
  1132                "commandName": "count",
  1133                "databaseName": "test",
  1134                "command": {
  1135                  "count": "coll",
  1136                  "maxTimeMS": {
  1137                    "$$exists": false
  1138                  }
  1139                }
  1140              }
  1141            }
  1142          ]
  1143        }
  1144      ]
  1145    },
  1146    {
  1147      "description": "timeoutMS can be configured for an operation - countDocuments on collection",
  1148      "operations": [
  1149        {
  1150          "name": "failPoint",
  1151          "object": "testRunner",
  1152          "arguments": {
  1153            "client": "failPointClient",
  1154            "failPoint": {
  1155              "configureFailPoint": "failCommand",
  1156              "mode": {
  1157                "times": 1
  1158              },
  1159              "data": {
  1160                "failCommands": [
  1161                  "aggregate"
  1162                ],
  1163                "blockConnection": true,
  1164                "blockTimeMS": 15
  1165              }
  1166            }
  1167          }
  1168        },
  1169        {
  1170          "name": "countDocuments",
  1171          "object": "collection",
  1172          "arguments": {
  1173            "timeoutMS": 1000,
  1174            "filter": {}
  1175          }
  1176        }
  1177      ],
  1178      "expectEvents": [
  1179        {
  1180          "client": "client",
  1181          "events": [
  1182            {
  1183              "commandStartedEvent": {
  1184                "commandName": "aggregate",
  1185                "databaseName": "test",
  1186                "command": {
  1187                  "aggregate": "coll",
  1188                  "maxTimeMS": {
  1189                    "$$type": [
  1190                      "int",
  1191                      "long"
  1192                    ]
  1193                  }
  1194                }
  1195              }
  1196            }
  1197          ]
  1198        }
  1199      ]
  1200    },
  1201    {
  1202      "description": "timeoutMS can be set to 0 for an operation - countDocuments on collection",
  1203      "operations": [
  1204        {
  1205          "name": "failPoint",
  1206          "object": "testRunner",
  1207          "arguments": {
  1208            "client": "failPointClient",
  1209            "failPoint": {
  1210              "configureFailPoint": "failCommand",
  1211              "mode": {
  1212                "times": 1
  1213              },
  1214              "data": {
  1215                "failCommands": [
  1216                  "aggregate"
  1217                ],
  1218                "blockConnection": true,
  1219                "blockTimeMS": 15
  1220              }
  1221            }
  1222          }
  1223        },
  1224        {
  1225          "name": "countDocuments",
  1226          "object": "collection",
  1227          "arguments": {
  1228            "timeoutMS": 0,
  1229            "filter": {}
  1230          }
  1231        }
  1232      ],
  1233      "expectEvents": [
  1234        {
  1235          "client": "client",
  1236          "events": [
  1237            {
  1238              "commandStartedEvent": {
  1239                "commandName": "aggregate",
  1240                "databaseName": "test",
  1241                "command": {
  1242                  "aggregate": "coll",
  1243                  "maxTimeMS": {
  1244                    "$$exists": false
  1245                  }
  1246                }
  1247              }
  1248            }
  1249          ]
  1250        }
  1251      ]
  1252    },
  1253    {
  1254      "description": "timeoutMS can be configured for an operation - estimatedDocumentCount on collection",
  1255      "operations": [
  1256        {
  1257          "name": "failPoint",
  1258          "object": "testRunner",
  1259          "arguments": {
  1260            "client": "failPointClient",
  1261            "failPoint": {
  1262              "configureFailPoint": "failCommand",
  1263              "mode": {
  1264                "times": 1
  1265              },
  1266              "data": {
  1267                "failCommands": [
  1268                  "count"
  1269                ],
  1270                "blockConnection": true,
  1271                "blockTimeMS": 15
  1272              }
  1273            }
  1274          }
  1275        },
  1276        {
  1277          "name": "estimatedDocumentCount",
  1278          "object": "collection",
  1279          "arguments": {
  1280            "timeoutMS": 1000
  1281          }
  1282        }
  1283      ],
  1284      "expectEvents": [
  1285        {
  1286          "client": "client",
  1287          "events": [
  1288            {
  1289              "commandStartedEvent": {
  1290                "commandName": "count",
  1291                "databaseName": "test",
  1292                "command": {
  1293                  "count": "coll",
  1294                  "maxTimeMS": {
  1295                    "$$type": [
  1296                      "int",
  1297                      "long"
  1298                    ]
  1299                  }
  1300                }
  1301              }
  1302            }
  1303          ]
  1304        }
  1305      ]
  1306    },
  1307    {
  1308      "description": "timeoutMS can be set to 0 for an operation - estimatedDocumentCount on collection",
  1309      "operations": [
  1310        {
  1311          "name": "failPoint",
  1312          "object": "testRunner",
  1313          "arguments": {
  1314            "client": "failPointClient",
  1315            "failPoint": {
  1316              "configureFailPoint": "failCommand",
  1317              "mode": {
  1318                "times": 1
  1319              },
  1320              "data": {
  1321                "failCommands": [
  1322                  "count"
  1323                ],
  1324                "blockConnection": true,
  1325                "blockTimeMS": 15
  1326              }
  1327            }
  1328          }
  1329        },
  1330        {
  1331          "name": "estimatedDocumentCount",
  1332          "object": "collection",
  1333          "arguments": {
  1334            "timeoutMS": 0
  1335          }
  1336        }
  1337      ],
  1338      "expectEvents": [
  1339        {
  1340          "client": "client",
  1341          "events": [
  1342            {
  1343              "commandStartedEvent": {
  1344                "commandName": "count",
  1345                "databaseName": "test",
  1346                "command": {
  1347                  "count": "coll",
  1348                  "maxTimeMS": {
  1349                    "$$exists": false
  1350                  }
  1351                }
  1352              }
  1353            }
  1354          ]
  1355        }
  1356      ]
  1357    },
  1358    {
  1359      "description": "timeoutMS can be configured for an operation - distinct on collection",
  1360      "operations": [
  1361        {
  1362          "name": "failPoint",
  1363          "object": "testRunner",
  1364          "arguments": {
  1365            "client": "failPointClient",
  1366            "failPoint": {
  1367              "configureFailPoint": "failCommand",
  1368              "mode": {
  1369                "times": 1
  1370              },
  1371              "data": {
  1372                "failCommands": [
  1373                  "distinct"
  1374                ],
  1375                "blockConnection": true,
  1376                "blockTimeMS": 15
  1377              }
  1378            }
  1379          }
  1380        },
  1381        {
  1382          "name": "distinct",
  1383          "object": "collection",
  1384          "arguments": {
  1385            "timeoutMS": 1000,
  1386            "fieldName": "x",
  1387            "filter": {}
  1388          }
  1389        }
  1390      ],
  1391      "expectEvents": [
  1392        {
  1393          "client": "client",
  1394          "events": [
  1395            {
  1396              "commandStartedEvent": {
  1397                "commandName": "distinct",
  1398                "databaseName": "test",
  1399                "command": {
  1400                  "distinct": "coll",
  1401                  "maxTimeMS": {
  1402                    "$$type": [
  1403                      "int",
  1404                      "long"
  1405                    ]
  1406                  }
  1407                }
  1408              }
  1409            }
  1410          ]
  1411        }
  1412      ]
  1413    },
  1414    {
  1415      "description": "timeoutMS can be set to 0 for an operation - distinct on collection",
  1416      "operations": [
  1417        {
  1418          "name": "failPoint",
  1419          "object": "testRunner",
  1420          "arguments": {
  1421            "client": "failPointClient",
  1422            "failPoint": {
  1423              "configureFailPoint": "failCommand",
  1424              "mode": {
  1425                "times": 1
  1426              },
  1427              "data": {
  1428                "failCommands": [
  1429                  "distinct"
  1430                ],
  1431                "blockConnection": true,
  1432                "blockTimeMS": 15
  1433              }
  1434            }
  1435          }
  1436        },
  1437        {
  1438          "name": "distinct",
  1439          "object": "collection",
  1440          "arguments": {
  1441            "timeoutMS": 0,
  1442            "fieldName": "x",
  1443            "filter": {}
  1444          }
  1445        }
  1446      ],
  1447      "expectEvents": [
  1448        {
  1449          "client": "client",
  1450          "events": [
  1451            {
  1452              "commandStartedEvent": {
  1453                "commandName": "distinct",
  1454                "databaseName": "test",
  1455                "command": {
  1456                  "distinct": "coll",
  1457                  "maxTimeMS": {
  1458                    "$$exists": false
  1459                  }
  1460                }
  1461              }
  1462            }
  1463          ]
  1464        }
  1465      ]
  1466    },
  1467    {
  1468      "description": "timeoutMS can be configured for an operation - find on collection",
  1469      "operations": [
  1470        {
  1471          "name": "failPoint",
  1472          "object": "testRunner",
  1473          "arguments": {
  1474            "client": "failPointClient",
  1475            "failPoint": {
  1476              "configureFailPoint": "failCommand",
  1477              "mode": {
  1478                "times": 1
  1479              },
  1480              "data": {
  1481                "failCommands": [
  1482                  "find"
  1483                ],
  1484                "blockConnection": true,
  1485                "blockTimeMS": 15
  1486              }
  1487            }
  1488          }
  1489        },
  1490        {
  1491          "name": "find",
  1492          "object": "collection",
  1493          "arguments": {
  1494            "timeoutMS": 1000,
  1495            "filter": {}
  1496          }
  1497        }
  1498      ],
  1499      "expectEvents": [
  1500        {
  1501          "client": "client",
  1502          "events": [
  1503            {
  1504              "commandStartedEvent": {
  1505                "commandName": "find",
  1506                "databaseName": "test",
  1507                "command": {
  1508                  "find": "coll",
  1509                  "maxTimeMS": {
  1510                    "$$type": [
  1511                      "int",
  1512                      "long"
  1513                    ]
  1514                  }
  1515                }
  1516              }
  1517            }
  1518          ]
  1519        }
  1520      ]
  1521    },
  1522    {
  1523      "description": "timeoutMS can be set to 0 for an operation - find on collection",
  1524      "operations": [
  1525        {
  1526          "name": "failPoint",
  1527          "object": "testRunner",
  1528          "arguments": {
  1529            "client": "failPointClient",
  1530            "failPoint": {
  1531              "configureFailPoint": "failCommand",
  1532              "mode": {
  1533                "times": 1
  1534              },
  1535              "data": {
  1536                "failCommands": [
  1537                  "find"
  1538                ],
  1539                "blockConnection": true,
  1540                "blockTimeMS": 15
  1541              }
  1542            }
  1543          }
  1544        },
  1545        {
  1546          "name": "find",
  1547          "object": "collection",
  1548          "arguments": {
  1549            "timeoutMS": 0,
  1550            "filter": {}
  1551          }
  1552        }
  1553      ],
  1554      "expectEvents": [
  1555        {
  1556          "client": "client",
  1557          "events": [
  1558            {
  1559              "commandStartedEvent": {
  1560                "commandName": "find",
  1561                "databaseName": "test",
  1562                "command": {
  1563                  "find": "coll",
  1564                  "maxTimeMS": {
  1565                    "$$exists": false
  1566                  }
  1567                }
  1568              }
  1569            }
  1570          ]
  1571        }
  1572      ]
  1573    },
  1574    {
  1575      "description": "timeoutMS can be configured for an operation - findOne on collection",
  1576      "operations": [
  1577        {
  1578          "name": "failPoint",
  1579          "object": "testRunner",
  1580          "arguments": {
  1581            "client": "failPointClient",
  1582            "failPoint": {
  1583              "configureFailPoint": "failCommand",
  1584              "mode": {
  1585                "times": 1
  1586              },
  1587              "data": {
  1588                "failCommands": [
  1589                  "find"
  1590                ],
  1591                "blockConnection": true,
  1592                "blockTimeMS": 15
  1593              }
  1594            }
  1595          }
  1596        },
  1597        {
  1598          "name": "findOne",
  1599          "object": "collection",
  1600          "arguments": {
  1601            "timeoutMS": 1000,
  1602            "filter": {}
  1603          }
  1604        }
  1605      ],
  1606      "expectEvents": [
  1607        {
  1608          "client": "client",
  1609          "events": [
  1610            {
  1611              "commandStartedEvent": {
  1612                "commandName": "find",
  1613                "databaseName": "test",
  1614                "command": {
  1615                  "find": "coll",
  1616                  "maxTimeMS": {
  1617                    "$$type": [
  1618                      "int",
  1619                      "long"
  1620                    ]
  1621                  }
  1622                }
  1623              }
  1624            }
  1625          ]
  1626        }
  1627      ]
  1628    },
  1629    {
  1630      "description": "timeoutMS can be set to 0 for an operation - findOne on collection",
  1631      "operations": [
  1632        {
  1633          "name": "failPoint",
  1634          "object": "testRunner",
  1635          "arguments": {
  1636            "client": "failPointClient",
  1637            "failPoint": {
  1638              "configureFailPoint": "failCommand",
  1639              "mode": {
  1640                "times": 1
  1641              },
  1642              "data": {
  1643                "failCommands": [
  1644                  "find"
  1645                ],
  1646                "blockConnection": true,
  1647                "blockTimeMS": 15
  1648              }
  1649            }
  1650          }
  1651        },
  1652        {
  1653          "name": "findOne",
  1654          "object": "collection",
  1655          "arguments": {
  1656            "timeoutMS": 0,
  1657            "filter": {}
  1658          }
  1659        }
  1660      ],
  1661      "expectEvents": [
  1662        {
  1663          "client": "client",
  1664          "events": [
  1665            {
  1666              "commandStartedEvent": {
  1667                "commandName": "find",
  1668                "databaseName": "test",
  1669                "command": {
  1670                  "find": "coll",
  1671                  "maxTimeMS": {
  1672                    "$$exists": false
  1673                  }
  1674                }
  1675              }
  1676            }
  1677          ]
  1678        }
  1679      ]
  1680    },
  1681    {
  1682      "description": "timeoutMS can be configured for an operation - listIndexes on collection",
  1683      "operations": [
  1684        {
  1685          "name": "failPoint",
  1686          "object": "testRunner",
  1687          "arguments": {
  1688            "client": "failPointClient",
  1689            "failPoint": {
  1690              "configureFailPoint": "failCommand",
  1691              "mode": {
  1692                "times": 1
  1693              },
  1694              "data": {
  1695                "failCommands": [
  1696                  "listIndexes"
  1697                ],
  1698                "blockConnection": true,
  1699                "blockTimeMS": 15
  1700              }
  1701            }
  1702          }
  1703        },
  1704        {
  1705          "name": "listIndexes",
  1706          "object": "collection",
  1707          "arguments": {
  1708            "timeoutMS": 1000
  1709          }
  1710        }
  1711      ],
  1712      "expectEvents": [
  1713        {
  1714          "client": "client",
  1715          "events": [
  1716            {
  1717              "commandStartedEvent": {
  1718                "commandName": "listIndexes",
  1719                "databaseName": "test",
  1720                "command": {
  1721                  "listIndexes": "coll",
  1722                  "maxTimeMS": {
  1723                    "$$type": [
  1724                      "int",
  1725                      "long"
  1726                    ]
  1727                  }
  1728                }
  1729              }
  1730            }
  1731          ]
  1732        }
  1733      ]
  1734    },
  1735    {
  1736      "description": "timeoutMS can be set to 0 for an operation - listIndexes on collection",
  1737      "operations": [
  1738        {
  1739          "name": "failPoint",
  1740          "object": "testRunner",
  1741          "arguments": {
  1742            "client": "failPointClient",
  1743            "failPoint": {
  1744              "configureFailPoint": "failCommand",
  1745              "mode": {
  1746                "times": 1
  1747              },
  1748              "data": {
  1749                "failCommands": [
  1750                  "listIndexes"
  1751                ],
  1752                "blockConnection": true,
  1753                "blockTimeMS": 15
  1754              }
  1755            }
  1756          }
  1757        },
  1758        {
  1759          "name": "listIndexes",
  1760          "object": "collection",
  1761          "arguments": {
  1762            "timeoutMS": 0
  1763          }
  1764        }
  1765      ],
  1766      "expectEvents": [
  1767        {
  1768          "client": "client",
  1769          "events": [
  1770            {
  1771              "commandStartedEvent": {
  1772                "commandName": "listIndexes",
  1773                "databaseName": "test",
  1774                "command": {
  1775                  "listIndexes": "coll",
  1776                  "maxTimeMS": {
  1777                    "$$exists": false
  1778                  }
  1779                }
  1780              }
  1781            }
  1782          ]
  1783        }
  1784      ]
  1785    },
  1786    {
  1787      "description": "timeoutMS can be configured for an operation - listIndexNames on collection",
  1788      "operations": [
  1789        {
  1790          "name": "failPoint",
  1791          "object": "testRunner",
  1792          "arguments": {
  1793            "client": "failPointClient",
  1794            "failPoint": {
  1795              "configureFailPoint": "failCommand",
  1796              "mode": {
  1797                "times": 1
  1798              },
  1799              "data": {
  1800                "failCommands": [
  1801                  "listIndexes"
  1802                ],
  1803                "blockConnection": true,
  1804                "blockTimeMS": 15
  1805              }
  1806            }
  1807          }
  1808        },
  1809        {
  1810          "name": "listIndexNames",
  1811          "object": "collection",
  1812          "arguments": {
  1813            "timeoutMS": 1000
  1814          }
  1815        }
  1816      ],
  1817      "expectEvents": [
  1818        {
  1819          "client": "client",
  1820          "events": [
  1821            {
  1822              "commandStartedEvent": {
  1823                "commandName": "listIndexes",
  1824                "databaseName": "test",
  1825                "command": {
  1826                  "listIndexes": "coll",
  1827                  "maxTimeMS": {
  1828                    "$$type": [
  1829                      "int",
  1830                      "long"
  1831                    ]
  1832                  }
  1833                }
  1834              }
  1835            }
  1836          ]
  1837        }
  1838      ]
  1839    },
  1840    {
  1841      "description": "timeoutMS can be set to 0 for an operation - listIndexNames on collection",
  1842      "operations": [
  1843        {
  1844          "name": "failPoint",
  1845          "object": "testRunner",
  1846          "arguments": {
  1847            "client": "failPointClient",
  1848            "failPoint": {
  1849              "configureFailPoint": "failCommand",
  1850              "mode": {
  1851                "times": 1
  1852              },
  1853              "data": {
  1854                "failCommands": [
  1855                  "listIndexes"
  1856                ],
  1857                "blockConnection": true,
  1858                "blockTimeMS": 15
  1859              }
  1860            }
  1861          }
  1862        },
  1863        {
  1864          "name": "listIndexNames",
  1865          "object": "collection",
  1866          "arguments": {
  1867            "timeoutMS": 0
  1868          }
  1869        }
  1870      ],
  1871      "expectEvents": [
  1872        {
  1873          "client": "client",
  1874          "events": [
  1875            {
  1876              "commandStartedEvent": {
  1877                "commandName": "listIndexes",
  1878                "databaseName": "test",
  1879                "command": {
  1880                  "listIndexes": "coll",
  1881                  "maxTimeMS": {
  1882                    "$$exists": false
  1883                  }
  1884                }
  1885              }
  1886            }
  1887          ]
  1888        }
  1889      ]
  1890    },
  1891    {
  1892      "description": "timeoutMS can be configured for an operation - createChangeStream on collection",
  1893      "operations": [
  1894        {
  1895          "name": "failPoint",
  1896          "object": "testRunner",
  1897          "arguments": {
  1898            "client": "failPointClient",
  1899            "failPoint": {
  1900              "configureFailPoint": "failCommand",
  1901              "mode": {
  1902                "times": 1
  1903              },
  1904              "data": {
  1905                "failCommands": [
  1906                  "aggregate"
  1907                ],
  1908                "blockConnection": true,
  1909                "blockTimeMS": 15
  1910              }
  1911            }
  1912          }
  1913        },
  1914        {
  1915          "name": "createChangeStream",
  1916          "object": "collection",
  1917          "arguments": {
  1918            "timeoutMS": 1000,
  1919            "pipeline": []
  1920          }
  1921        }
  1922      ],
  1923      "expectEvents": [
  1924        {
  1925          "client": "client",
  1926          "events": [
  1927            {
  1928              "commandStartedEvent": {
  1929                "commandName": "aggregate",
  1930                "databaseName": "test",
  1931                "command": {
  1932                  "aggregate": "coll",
  1933                  "maxTimeMS": {
  1934                    "$$type": [
  1935                      "int",
  1936                      "long"
  1937                    ]
  1938                  }
  1939                }
  1940              }
  1941            }
  1942          ]
  1943        }
  1944      ]
  1945    },
  1946    {
  1947      "description": "timeoutMS can be set to 0 for an operation - createChangeStream on collection",
  1948      "operations": [
  1949        {
  1950          "name": "failPoint",
  1951          "object": "testRunner",
  1952          "arguments": {
  1953            "client": "failPointClient",
  1954            "failPoint": {
  1955              "configureFailPoint": "failCommand",
  1956              "mode": {
  1957                "times": 1
  1958              },
  1959              "data": {
  1960                "failCommands": [
  1961                  "aggregate"
  1962                ],
  1963                "blockConnection": true,
  1964                "blockTimeMS": 15
  1965              }
  1966            }
  1967          }
  1968        },
  1969        {
  1970          "name": "createChangeStream",
  1971          "object": "collection",
  1972          "arguments": {
  1973            "timeoutMS": 0,
  1974            "pipeline": []
  1975          }
  1976        }
  1977      ],
  1978      "expectEvents": [
  1979        {
  1980          "client": "client",
  1981          "events": [
  1982            {
  1983              "commandStartedEvent": {
  1984                "commandName": "aggregate",
  1985                "databaseName": "test",
  1986                "command": {
  1987                  "aggregate": "coll",
  1988                  "maxTimeMS": {
  1989                    "$$exists": false
  1990                  }
  1991                }
  1992              }
  1993            }
  1994          ]
  1995        }
  1996      ]
  1997    },
  1998    {
  1999      "description": "timeoutMS can be configured for an operation - insertOne on collection",
  2000      "operations": [
  2001        {
  2002          "name": "failPoint",
  2003          "object": "testRunner",
  2004          "arguments": {
  2005            "client": "failPointClient",
  2006            "failPoint": {
  2007              "configureFailPoint": "failCommand",
  2008              "mode": {
  2009                "times": 1
  2010              },
  2011              "data": {
  2012                "failCommands": [
  2013                  "insert"
  2014                ],
  2015                "blockConnection": true,
  2016                "blockTimeMS": 15
  2017              }
  2018            }
  2019          }
  2020        },
  2021        {
  2022          "name": "insertOne",
  2023          "object": "collection",
  2024          "arguments": {
  2025            "timeoutMS": 1000,
  2026            "document": {
  2027              "x": 1
  2028            }
  2029          }
  2030        }
  2031      ],
  2032      "expectEvents": [
  2033        {
  2034          "client": "client",
  2035          "events": [
  2036            {
  2037              "commandStartedEvent": {
  2038                "commandName": "insert",
  2039                "databaseName": "test",
  2040                "command": {
  2041                  "insert": "coll",
  2042                  "maxTimeMS": {
  2043                    "$$type": [
  2044                      "int",
  2045                      "long"
  2046                    ]
  2047                  }
  2048                }
  2049              }
  2050            }
  2051          ]
  2052        }
  2053      ]
  2054    },
  2055    {
  2056      "description": "timeoutMS can be set to 0 for an operation - insertOne on collection",
  2057      "operations": [
  2058        {
  2059          "name": "failPoint",
  2060          "object": "testRunner",
  2061          "arguments": {
  2062            "client": "failPointClient",
  2063            "failPoint": {
  2064              "configureFailPoint": "failCommand",
  2065              "mode": {
  2066                "times": 1
  2067              },
  2068              "data": {
  2069                "failCommands": [
  2070                  "insert"
  2071                ],
  2072                "blockConnection": true,
  2073                "blockTimeMS": 15
  2074              }
  2075            }
  2076          }
  2077        },
  2078        {
  2079          "name": "insertOne",
  2080          "object": "collection",
  2081          "arguments": {
  2082            "timeoutMS": 0,
  2083            "document": {
  2084              "x": 1
  2085            }
  2086          }
  2087        }
  2088      ],
  2089      "expectEvents": [
  2090        {
  2091          "client": "client",
  2092          "events": [
  2093            {
  2094              "commandStartedEvent": {
  2095                "commandName": "insert",
  2096                "databaseName": "test",
  2097                "command": {
  2098                  "insert": "coll",
  2099                  "maxTimeMS": {
  2100                    "$$exists": false
  2101                  }
  2102                }
  2103              }
  2104            }
  2105          ]
  2106        }
  2107      ]
  2108    },
  2109    {
  2110      "description": "timeoutMS can be configured for an operation - insertMany on collection",
  2111      "operations": [
  2112        {
  2113          "name": "failPoint",
  2114          "object": "testRunner",
  2115          "arguments": {
  2116            "client": "failPointClient",
  2117            "failPoint": {
  2118              "configureFailPoint": "failCommand",
  2119              "mode": {
  2120                "times": 1
  2121              },
  2122              "data": {
  2123                "failCommands": [
  2124                  "insert"
  2125                ],
  2126                "blockConnection": true,
  2127                "blockTimeMS": 15
  2128              }
  2129            }
  2130          }
  2131        },
  2132        {
  2133          "name": "insertMany",
  2134          "object": "collection",
  2135          "arguments": {
  2136            "timeoutMS": 1000,
  2137            "documents": [
  2138              {
  2139                "x": 1
  2140              }
  2141            ]
  2142          }
  2143        }
  2144      ],
  2145      "expectEvents": [
  2146        {
  2147          "client": "client",
  2148          "events": [
  2149            {
  2150              "commandStartedEvent": {
  2151                "commandName": "insert",
  2152                "databaseName": "test",
  2153                "command": {
  2154                  "insert": "coll",
  2155                  "maxTimeMS": {
  2156                    "$$type": [
  2157                      "int",
  2158                      "long"
  2159                    ]
  2160                  }
  2161                }
  2162              }
  2163            }
  2164          ]
  2165        }
  2166      ]
  2167    },
  2168    {
  2169      "description": "timeoutMS can be set to 0 for an operation - insertMany on collection",
  2170      "operations": [
  2171        {
  2172          "name": "failPoint",
  2173          "object": "testRunner",
  2174          "arguments": {
  2175            "client": "failPointClient",
  2176            "failPoint": {
  2177              "configureFailPoint": "failCommand",
  2178              "mode": {
  2179                "times": 1
  2180              },
  2181              "data": {
  2182                "failCommands": [
  2183                  "insert"
  2184                ],
  2185                "blockConnection": true,
  2186                "blockTimeMS": 15
  2187              }
  2188            }
  2189          }
  2190        },
  2191        {
  2192          "name": "insertMany",
  2193          "object": "collection",
  2194          "arguments": {
  2195            "timeoutMS": 0,
  2196            "documents": [
  2197              {
  2198                "x": 1
  2199              }
  2200            ]
  2201          }
  2202        }
  2203      ],
  2204      "expectEvents": [
  2205        {
  2206          "client": "client",
  2207          "events": [
  2208            {
  2209              "commandStartedEvent": {
  2210                "commandName": "insert",
  2211                "databaseName": "test",
  2212                "command": {
  2213                  "insert": "coll",
  2214                  "maxTimeMS": {
  2215                    "$$exists": false
  2216                  }
  2217                }
  2218              }
  2219            }
  2220          ]
  2221        }
  2222      ]
  2223    },
  2224    {
  2225      "description": "timeoutMS can be configured for an operation - deleteOne on collection",
  2226      "operations": [
  2227        {
  2228          "name": "failPoint",
  2229          "object": "testRunner",
  2230          "arguments": {
  2231            "client": "failPointClient",
  2232            "failPoint": {
  2233              "configureFailPoint": "failCommand",
  2234              "mode": {
  2235                "times": 1
  2236              },
  2237              "data": {
  2238                "failCommands": [
  2239                  "delete"
  2240                ],
  2241                "blockConnection": true,
  2242                "blockTimeMS": 15
  2243              }
  2244            }
  2245          }
  2246        },
  2247        {
  2248          "name": "deleteOne",
  2249          "object": "collection",
  2250          "arguments": {
  2251            "timeoutMS": 1000,
  2252            "filter": {}
  2253          }
  2254        }
  2255      ],
  2256      "expectEvents": [
  2257        {
  2258          "client": "client",
  2259          "events": [
  2260            {
  2261              "commandStartedEvent": {
  2262                "commandName": "delete",
  2263                "databaseName": "test",
  2264                "command": {
  2265                  "delete": "coll",
  2266                  "maxTimeMS": {
  2267                    "$$type": [
  2268                      "int",
  2269                      "long"
  2270                    ]
  2271                  }
  2272                }
  2273              }
  2274            }
  2275          ]
  2276        }
  2277      ]
  2278    },
  2279    {
  2280      "description": "timeoutMS can be set to 0 for an operation - deleteOne on collection",
  2281      "operations": [
  2282        {
  2283          "name": "failPoint",
  2284          "object": "testRunner",
  2285          "arguments": {
  2286            "client": "failPointClient",
  2287            "failPoint": {
  2288              "configureFailPoint": "failCommand",
  2289              "mode": {
  2290                "times": 1
  2291              },
  2292              "data": {
  2293                "failCommands": [
  2294                  "delete"
  2295                ],
  2296                "blockConnection": true,
  2297                "blockTimeMS": 15
  2298              }
  2299            }
  2300          }
  2301        },
  2302        {
  2303          "name": "deleteOne",
  2304          "object": "collection",
  2305          "arguments": {
  2306            "timeoutMS": 0,
  2307            "filter": {}
  2308          }
  2309        }
  2310      ],
  2311      "expectEvents": [
  2312        {
  2313          "client": "client",
  2314          "events": [
  2315            {
  2316              "commandStartedEvent": {
  2317                "commandName": "delete",
  2318                "databaseName": "test",
  2319                "command": {
  2320                  "delete": "coll",
  2321                  "maxTimeMS": {
  2322                    "$$exists": false
  2323                  }
  2324                }
  2325              }
  2326            }
  2327          ]
  2328        }
  2329      ]
  2330    },
  2331    {
  2332      "description": "timeoutMS can be configured for an operation - deleteMany on collection",
  2333      "operations": [
  2334        {
  2335          "name": "failPoint",
  2336          "object": "testRunner",
  2337          "arguments": {
  2338            "client": "failPointClient",
  2339            "failPoint": {
  2340              "configureFailPoint": "failCommand",
  2341              "mode": {
  2342                "times": 1
  2343              },
  2344              "data": {
  2345                "failCommands": [
  2346                  "delete"
  2347                ],
  2348                "blockConnection": true,
  2349                "blockTimeMS": 15
  2350              }
  2351            }
  2352          }
  2353        },
  2354        {
  2355          "name": "deleteMany",
  2356          "object": "collection",
  2357          "arguments": {
  2358            "timeoutMS": 1000,
  2359            "filter": {}
  2360          }
  2361        }
  2362      ],
  2363      "expectEvents": [
  2364        {
  2365          "client": "client",
  2366          "events": [
  2367            {
  2368              "commandStartedEvent": {
  2369                "commandName": "delete",
  2370                "databaseName": "test",
  2371                "command": {
  2372                  "delete": "coll",
  2373                  "maxTimeMS": {
  2374                    "$$type": [
  2375                      "int",
  2376                      "long"
  2377                    ]
  2378                  }
  2379                }
  2380              }
  2381            }
  2382          ]
  2383        }
  2384      ]
  2385    },
  2386    {
  2387      "description": "timeoutMS can be set to 0 for an operation - deleteMany on collection",
  2388      "operations": [
  2389        {
  2390          "name": "failPoint",
  2391          "object": "testRunner",
  2392          "arguments": {
  2393            "client": "failPointClient",
  2394            "failPoint": {
  2395              "configureFailPoint": "failCommand",
  2396              "mode": {
  2397                "times": 1
  2398              },
  2399              "data": {
  2400                "failCommands": [
  2401                  "delete"
  2402                ],
  2403                "blockConnection": true,
  2404                "blockTimeMS": 15
  2405              }
  2406            }
  2407          }
  2408        },
  2409        {
  2410          "name": "deleteMany",
  2411          "object": "collection",
  2412          "arguments": {
  2413            "timeoutMS": 0,
  2414            "filter": {}
  2415          }
  2416        }
  2417      ],
  2418      "expectEvents": [
  2419        {
  2420          "client": "client",
  2421          "events": [
  2422            {
  2423              "commandStartedEvent": {
  2424                "commandName": "delete",
  2425                "databaseName": "test",
  2426                "command": {
  2427                  "delete": "coll",
  2428                  "maxTimeMS": {
  2429                    "$$exists": false
  2430                  }
  2431                }
  2432              }
  2433            }
  2434          ]
  2435        }
  2436      ]
  2437    },
  2438    {
  2439      "description": "timeoutMS can be configured for an operation - replaceOne on collection",
  2440      "operations": [
  2441        {
  2442          "name": "failPoint",
  2443          "object": "testRunner",
  2444          "arguments": {
  2445            "client": "failPointClient",
  2446            "failPoint": {
  2447              "configureFailPoint": "failCommand",
  2448              "mode": {
  2449                "times": 1
  2450              },
  2451              "data": {
  2452                "failCommands": [
  2453                  "update"
  2454                ],
  2455                "blockConnection": true,
  2456                "blockTimeMS": 15
  2457              }
  2458            }
  2459          }
  2460        },
  2461        {
  2462          "name": "replaceOne",
  2463          "object": "collection",
  2464          "arguments": {
  2465            "timeoutMS": 1000,
  2466            "filter": {},
  2467            "replacement": {
  2468              "x": 1
  2469            }
  2470          }
  2471        }
  2472      ],
  2473      "expectEvents": [
  2474        {
  2475          "client": "client",
  2476          "events": [
  2477            {
  2478              "commandStartedEvent": {
  2479                "commandName": "update",
  2480                "databaseName": "test",
  2481                "command": {
  2482                  "update": "coll",
  2483                  "maxTimeMS": {
  2484                    "$$type": [
  2485                      "int",
  2486                      "long"
  2487                    ]
  2488                  }
  2489                }
  2490              }
  2491            }
  2492          ]
  2493        }
  2494      ]
  2495    },
  2496    {
  2497      "description": "timeoutMS can be set to 0 for an operation - replaceOne on collection",
  2498      "operations": [
  2499        {
  2500          "name": "failPoint",
  2501          "object": "testRunner",
  2502          "arguments": {
  2503            "client": "failPointClient",
  2504            "failPoint": {
  2505              "configureFailPoint": "failCommand",
  2506              "mode": {
  2507                "times": 1
  2508              },
  2509              "data": {
  2510                "failCommands": [
  2511                  "update"
  2512                ],
  2513                "blockConnection": true,
  2514                "blockTimeMS": 15
  2515              }
  2516            }
  2517          }
  2518        },
  2519        {
  2520          "name": "replaceOne",
  2521          "object": "collection",
  2522          "arguments": {
  2523            "timeoutMS": 0,
  2524            "filter": {},
  2525            "replacement": {
  2526              "x": 1
  2527            }
  2528          }
  2529        }
  2530      ],
  2531      "expectEvents": [
  2532        {
  2533          "client": "client",
  2534          "events": [
  2535            {
  2536              "commandStartedEvent": {
  2537                "commandName": "update",
  2538                "databaseName": "test",
  2539                "command": {
  2540                  "update": "coll",
  2541                  "maxTimeMS": {
  2542                    "$$exists": false
  2543                  }
  2544                }
  2545              }
  2546            }
  2547          ]
  2548        }
  2549      ]
  2550    },
  2551    {
  2552      "description": "timeoutMS can be configured for an operation - updateOne on collection",
  2553      "operations": [
  2554        {
  2555          "name": "failPoint",
  2556          "object": "testRunner",
  2557          "arguments": {
  2558            "client": "failPointClient",
  2559            "failPoint": {
  2560              "configureFailPoint": "failCommand",
  2561              "mode": {
  2562                "times": 1
  2563              },
  2564              "data": {
  2565                "failCommands": [
  2566                  "update"
  2567                ],
  2568                "blockConnection": true,
  2569                "blockTimeMS": 15
  2570              }
  2571            }
  2572          }
  2573        },
  2574        {
  2575          "name": "updateOne",
  2576          "object": "collection",
  2577          "arguments": {
  2578            "timeoutMS": 1000,
  2579            "filter": {},
  2580            "update": {
  2581              "$set": {
  2582                "x": 1
  2583              }
  2584            }
  2585          }
  2586        }
  2587      ],
  2588      "expectEvents": [
  2589        {
  2590          "client": "client",
  2591          "events": [
  2592            {
  2593              "commandStartedEvent": {
  2594                "commandName": "update",
  2595                "databaseName": "test",
  2596                "command": {
  2597                  "update": "coll",
  2598                  "maxTimeMS": {
  2599                    "$$type": [
  2600                      "int",
  2601                      "long"
  2602                    ]
  2603                  }
  2604                }
  2605              }
  2606            }
  2607          ]
  2608        }
  2609      ]
  2610    },
  2611    {
  2612      "description": "timeoutMS can be set to 0 for an operation - updateOne on collection",
  2613      "operations": [
  2614        {
  2615          "name": "failPoint",
  2616          "object": "testRunner",
  2617          "arguments": {
  2618            "client": "failPointClient",
  2619            "failPoint": {
  2620              "configureFailPoint": "failCommand",
  2621              "mode": {
  2622                "times": 1
  2623              },
  2624              "data": {
  2625                "failCommands": [
  2626                  "update"
  2627                ],
  2628                "blockConnection": true,
  2629                "blockTimeMS": 15
  2630              }
  2631            }
  2632          }
  2633        },
  2634        {
  2635          "name": "updateOne",
  2636          "object": "collection",
  2637          "arguments": {
  2638            "timeoutMS": 0,
  2639            "filter": {},
  2640            "update": {
  2641              "$set": {
  2642                "x": 1
  2643              }
  2644            }
  2645          }
  2646        }
  2647      ],
  2648      "expectEvents": [
  2649        {
  2650          "client": "client",
  2651          "events": [
  2652            {
  2653              "commandStartedEvent": {
  2654                "commandName": "update",
  2655                "databaseName": "test",
  2656                "command": {
  2657                  "update": "coll",
  2658                  "maxTimeMS": {
  2659                    "$$exists": false
  2660                  }
  2661                }
  2662              }
  2663            }
  2664          ]
  2665        }
  2666      ]
  2667    },
  2668    {
  2669      "description": "timeoutMS can be configured for an operation - updateMany on collection",
  2670      "operations": [
  2671        {
  2672          "name": "failPoint",
  2673          "object": "testRunner",
  2674          "arguments": {
  2675            "client": "failPointClient",
  2676            "failPoint": {
  2677              "configureFailPoint": "failCommand",
  2678              "mode": {
  2679                "times": 1
  2680              },
  2681              "data": {
  2682                "failCommands": [
  2683                  "update"
  2684                ],
  2685                "blockConnection": true,
  2686                "blockTimeMS": 15
  2687              }
  2688            }
  2689          }
  2690        },
  2691        {
  2692          "name": "updateMany",
  2693          "object": "collection",
  2694          "arguments": {
  2695            "timeoutMS": 1000,
  2696            "filter": {},
  2697            "update": {
  2698              "$set": {
  2699                "x": 1
  2700              }
  2701            }
  2702          }
  2703        }
  2704      ],
  2705      "expectEvents": [
  2706        {
  2707          "client": "client",
  2708          "events": [
  2709            {
  2710              "commandStartedEvent": {
  2711                "commandName": "update",
  2712                "databaseName": "test",
  2713                "command": {
  2714                  "update": "coll",
  2715                  "maxTimeMS": {
  2716                    "$$type": [
  2717                      "int",
  2718                      "long"
  2719                    ]
  2720                  }
  2721                }
  2722              }
  2723            }
  2724          ]
  2725        }
  2726      ]
  2727    },
  2728    {
  2729      "description": "timeoutMS can be set to 0 for an operation - updateMany on collection",
  2730      "operations": [
  2731        {
  2732          "name": "failPoint",
  2733          "object": "testRunner",
  2734          "arguments": {
  2735            "client": "failPointClient",
  2736            "failPoint": {
  2737              "configureFailPoint": "failCommand",
  2738              "mode": {
  2739                "times": 1
  2740              },
  2741              "data": {
  2742                "failCommands": [
  2743                  "update"
  2744                ],
  2745                "blockConnection": true,
  2746                "blockTimeMS": 15
  2747              }
  2748            }
  2749          }
  2750        },
  2751        {
  2752          "name": "updateMany",
  2753          "object": "collection",
  2754          "arguments": {
  2755            "timeoutMS": 0,
  2756            "filter": {},
  2757            "update": {
  2758              "$set": {
  2759                "x": 1
  2760              }
  2761            }
  2762          }
  2763        }
  2764      ],
  2765      "expectEvents": [
  2766        {
  2767          "client": "client",
  2768          "events": [
  2769            {
  2770              "commandStartedEvent": {
  2771                "commandName": "update",
  2772                "databaseName": "test",
  2773                "command": {
  2774                  "update": "coll",
  2775                  "maxTimeMS": {
  2776                    "$$exists": false
  2777                  }
  2778                }
  2779              }
  2780            }
  2781          ]
  2782        }
  2783      ]
  2784    },
  2785    {
  2786      "description": "timeoutMS can be configured for an operation - findOneAndDelete on collection",
  2787      "operations": [
  2788        {
  2789          "name": "failPoint",
  2790          "object": "testRunner",
  2791          "arguments": {
  2792            "client": "failPointClient",
  2793            "failPoint": {
  2794              "configureFailPoint": "failCommand",
  2795              "mode": {
  2796                "times": 1
  2797              },
  2798              "data": {
  2799                "failCommands": [
  2800                  "findAndModify"
  2801                ],
  2802                "blockConnection": true,
  2803                "blockTimeMS": 15
  2804              }
  2805            }
  2806          }
  2807        },
  2808        {
  2809          "name": "findOneAndDelete",
  2810          "object": "collection",
  2811          "arguments": {
  2812            "timeoutMS": 1000,
  2813            "filter": {}
  2814          }
  2815        }
  2816      ],
  2817      "expectEvents": [
  2818        {
  2819          "client": "client",
  2820          "events": [
  2821            {
  2822              "commandStartedEvent": {
  2823                "commandName": "findAndModify",
  2824                "databaseName": "test",
  2825                "command": {
  2826                  "findAndModify": "coll",
  2827                  "maxTimeMS": {
  2828                    "$$type": [
  2829                      "int",
  2830                      "long"
  2831                    ]
  2832                  }
  2833                }
  2834              }
  2835            }
  2836          ]
  2837        }
  2838      ]
  2839    },
  2840    {
  2841      "description": "timeoutMS can be set to 0 for an operation - findOneAndDelete on collection",
  2842      "operations": [
  2843        {
  2844          "name": "failPoint",
  2845          "object": "testRunner",
  2846          "arguments": {
  2847            "client": "failPointClient",
  2848            "failPoint": {
  2849              "configureFailPoint": "failCommand",
  2850              "mode": {
  2851                "times": 1
  2852              },
  2853              "data": {
  2854                "failCommands": [
  2855                  "findAndModify"
  2856                ],
  2857                "blockConnection": true,
  2858                "blockTimeMS": 15
  2859              }
  2860            }
  2861          }
  2862        },
  2863        {
  2864          "name": "findOneAndDelete",
  2865          "object": "collection",
  2866          "arguments": {
  2867            "timeoutMS": 0,
  2868            "filter": {}
  2869          }
  2870        }
  2871      ],
  2872      "expectEvents": [
  2873        {
  2874          "client": "client",
  2875          "events": [
  2876            {
  2877              "commandStartedEvent": {
  2878                "commandName": "findAndModify",
  2879                "databaseName": "test",
  2880                "command": {
  2881                  "findAndModify": "coll",
  2882                  "maxTimeMS": {
  2883                    "$$exists": false
  2884                  }
  2885                }
  2886              }
  2887            }
  2888          ]
  2889        }
  2890      ]
  2891    },
  2892    {
  2893      "description": "timeoutMS can be configured for an operation - findOneAndReplace on collection",
  2894      "operations": [
  2895        {
  2896          "name": "failPoint",
  2897          "object": "testRunner",
  2898          "arguments": {
  2899            "client": "failPointClient",
  2900            "failPoint": {
  2901              "configureFailPoint": "failCommand",
  2902              "mode": {
  2903                "times": 1
  2904              },
  2905              "data": {
  2906                "failCommands": [
  2907                  "findAndModify"
  2908                ],
  2909                "blockConnection": true,
  2910                "blockTimeMS": 15
  2911              }
  2912            }
  2913          }
  2914        },
  2915        {
  2916          "name": "findOneAndReplace",
  2917          "object": "collection",
  2918          "arguments": {
  2919            "timeoutMS": 1000,
  2920            "filter": {},
  2921            "replacement": {
  2922              "x": 1
  2923            }
  2924          }
  2925        }
  2926      ],
  2927      "expectEvents": [
  2928        {
  2929          "client": "client",
  2930          "events": [
  2931            {
  2932              "commandStartedEvent": {
  2933                "commandName": "findAndModify",
  2934                "databaseName": "test",
  2935                "command": {
  2936                  "findAndModify": "coll",
  2937                  "maxTimeMS": {
  2938                    "$$type": [
  2939                      "int",
  2940                      "long"
  2941                    ]
  2942                  }
  2943                }
  2944              }
  2945            }
  2946          ]
  2947        }
  2948      ]
  2949    },
  2950    {
  2951      "description": "timeoutMS can be set to 0 for an operation - findOneAndReplace on collection",
  2952      "operations": [
  2953        {
  2954          "name": "failPoint",
  2955          "object": "testRunner",
  2956          "arguments": {
  2957            "client": "failPointClient",
  2958            "failPoint": {
  2959              "configureFailPoint": "failCommand",
  2960              "mode": {
  2961                "times": 1
  2962              },
  2963              "data": {
  2964                "failCommands": [
  2965                  "findAndModify"
  2966                ],
  2967                "blockConnection": true,
  2968                "blockTimeMS": 15
  2969              }
  2970            }
  2971          }
  2972        },
  2973        {
  2974          "name": "findOneAndReplace",
  2975          "object": "collection",
  2976          "arguments": {
  2977            "timeoutMS": 0,
  2978            "filter": {},
  2979            "replacement": {
  2980              "x": 1
  2981            }
  2982          }
  2983        }
  2984      ],
  2985      "expectEvents": [
  2986        {
  2987          "client": "client",
  2988          "events": [
  2989            {
  2990              "commandStartedEvent": {
  2991                "commandName": "findAndModify",
  2992                "databaseName": "test",
  2993                "command": {
  2994                  "findAndModify": "coll",
  2995                  "maxTimeMS": {
  2996                    "$$exists": false
  2997                  }
  2998                }
  2999              }
  3000            }
  3001          ]
  3002        }
  3003      ]
  3004    },
  3005    {
  3006      "description": "timeoutMS can be configured for an operation - findOneAndUpdate on collection",
  3007      "operations": [
  3008        {
  3009          "name": "failPoint",
  3010          "object": "testRunner",
  3011          "arguments": {
  3012            "client": "failPointClient",
  3013            "failPoint": {
  3014              "configureFailPoint": "failCommand",
  3015              "mode": {
  3016                "times": 1
  3017              },
  3018              "data": {
  3019                "failCommands": [
  3020                  "findAndModify"
  3021                ],
  3022                "blockConnection": true,
  3023                "blockTimeMS": 15
  3024              }
  3025            }
  3026          }
  3027        },
  3028        {
  3029          "name": "findOneAndUpdate",
  3030          "object": "collection",
  3031          "arguments": {
  3032            "timeoutMS": 1000,
  3033            "filter": {},
  3034            "update": {
  3035              "$set": {
  3036                "x": 1
  3037              }
  3038            }
  3039          }
  3040        }
  3041      ],
  3042      "expectEvents": [
  3043        {
  3044          "client": "client",
  3045          "events": [
  3046            {
  3047              "commandStartedEvent": {
  3048                "commandName": "findAndModify",
  3049                "databaseName": "test",
  3050                "command": {
  3051                  "findAndModify": "coll",
  3052                  "maxTimeMS": {
  3053                    "$$type": [
  3054                      "int",
  3055                      "long"
  3056                    ]
  3057                  }
  3058                }
  3059              }
  3060            }
  3061          ]
  3062        }
  3063      ]
  3064    },
  3065    {
  3066      "description": "timeoutMS can be set to 0 for an operation - findOneAndUpdate on collection",
  3067      "operations": [
  3068        {
  3069          "name": "failPoint",
  3070          "object": "testRunner",
  3071          "arguments": {
  3072            "client": "failPointClient",
  3073            "failPoint": {
  3074              "configureFailPoint": "failCommand",
  3075              "mode": {
  3076                "times": 1
  3077              },
  3078              "data": {
  3079                "failCommands": [
  3080                  "findAndModify"
  3081                ],
  3082                "blockConnection": true,
  3083                "blockTimeMS": 15
  3084              }
  3085            }
  3086          }
  3087        },
  3088        {
  3089          "name": "findOneAndUpdate",
  3090          "object": "collection",
  3091          "arguments": {
  3092            "timeoutMS": 0,
  3093            "filter": {},
  3094            "update": {
  3095              "$set": {
  3096                "x": 1
  3097              }
  3098            }
  3099          }
  3100        }
  3101      ],
  3102      "expectEvents": [
  3103        {
  3104          "client": "client",
  3105          "events": [
  3106            {
  3107              "commandStartedEvent": {
  3108                "commandName": "findAndModify",
  3109                "databaseName": "test",
  3110                "command": {
  3111                  "findAndModify": "coll",
  3112                  "maxTimeMS": {
  3113                    "$$exists": false
  3114                  }
  3115                }
  3116              }
  3117            }
  3118          ]
  3119        }
  3120      ]
  3121    },
  3122    {
  3123      "description": "timeoutMS can be configured for an operation - bulkWrite on collection",
  3124      "operations": [
  3125        {
  3126          "name": "failPoint",
  3127          "object": "testRunner",
  3128          "arguments": {
  3129            "client": "failPointClient",
  3130            "failPoint": {
  3131              "configureFailPoint": "failCommand",
  3132              "mode": {
  3133                "times": 1
  3134              },
  3135              "data": {
  3136                "failCommands": [
  3137                  "insert"
  3138                ],
  3139                "blockConnection": true,
  3140                "blockTimeMS": 15
  3141              }
  3142            }
  3143          }
  3144        },
  3145        {
  3146          "name": "bulkWrite",
  3147          "object": "collection",
  3148          "arguments": {
  3149            "timeoutMS": 1000,
  3150            "requests": [
  3151              {
  3152                "insertOne": {
  3153                  "document": {
  3154                    "_id": 1
  3155                  }
  3156                }
  3157              }
  3158            ]
  3159          }
  3160        }
  3161      ],
  3162      "expectEvents": [
  3163        {
  3164          "client": "client",
  3165          "events": [
  3166            {
  3167              "commandStartedEvent": {
  3168                "commandName": "insert",
  3169                "databaseName": "test",
  3170                "command": {
  3171                  "insert": "coll",
  3172                  "maxTimeMS": {
  3173                    "$$type": [
  3174                      "int",
  3175                      "long"
  3176                    ]
  3177                  }
  3178                }
  3179              }
  3180            }
  3181          ]
  3182        }
  3183      ]
  3184    },
  3185    {
  3186      "description": "timeoutMS can be set to 0 for an operation - bulkWrite on collection",
  3187      "operations": [
  3188        {
  3189          "name": "failPoint",
  3190          "object": "testRunner",
  3191          "arguments": {
  3192            "client": "failPointClient",
  3193            "failPoint": {
  3194              "configureFailPoint": "failCommand",
  3195              "mode": {
  3196                "times": 1
  3197              },
  3198              "data": {
  3199                "failCommands": [
  3200                  "insert"
  3201                ],
  3202                "blockConnection": true,
  3203                "blockTimeMS": 15
  3204              }
  3205            }
  3206          }
  3207        },
  3208        {
  3209          "name": "bulkWrite",
  3210          "object": "collection",
  3211          "arguments": {
  3212            "timeoutMS": 0,
  3213            "requests": [
  3214              {
  3215                "insertOne": {
  3216                  "document": {
  3217                    "_id": 1
  3218                  }
  3219                }
  3220              }
  3221            ]
  3222          }
  3223        }
  3224      ],
  3225      "expectEvents": [
  3226        {
  3227          "client": "client",
  3228          "events": [
  3229            {
  3230              "commandStartedEvent": {
  3231                "commandName": "insert",
  3232                "databaseName": "test",
  3233                "command": {
  3234                  "insert": "coll",
  3235                  "maxTimeMS": {
  3236                    "$$exists": false
  3237                  }
  3238                }
  3239              }
  3240            }
  3241          ]
  3242        }
  3243      ]
  3244    },
  3245    {
  3246      "description": "timeoutMS can be configured for an operation - createIndex on collection",
  3247      "operations": [
  3248        {
  3249          "name": "failPoint",
  3250          "object": "testRunner",
  3251          "arguments": {
  3252            "client": "failPointClient",
  3253            "failPoint": {
  3254              "configureFailPoint": "failCommand",
  3255              "mode": {
  3256                "times": 1
  3257              },
  3258              "data": {
  3259                "failCommands": [
  3260                  "createIndexes"
  3261                ],
  3262                "blockConnection": true,
  3263                "blockTimeMS": 15
  3264              }
  3265            }
  3266          }
  3267        },
  3268        {
  3269          "name": "createIndex",
  3270          "object": "collection",
  3271          "arguments": {
  3272            "timeoutMS": 1000,
  3273            "keys": {
  3274              "x": 1
  3275            },
  3276            "name": "x_1"
  3277          }
  3278        }
  3279      ],
  3280      "expectEvents": [
  3281        {
  3282          "client": "client",
  3283          "events": [
  3284            {
  3285              "commandStartedEvent": {
  3286                "commandName": "createIndexes",
  3287                "databaseName": "test",
  3288                "command": {
  3289                  "createIndexes": "coll",
  3290                  "maxTimeMS": {
  3291                    "$$type": [
  3292                      "int",
  3293                      "long"
  3294                    ]
  3295                  }
  3296                }
  3297              }
  3298            }
  3299          ]
  3300        }
  3301      ]
  3302    },
  3303    {
  3304      "description": "timeoutMS can be set to 0 for an operation - createIndex on collection",
  3305      "operations": [
  3306        {
  3307          "name": "failPoint",
  3308          "object": "testRunner",
  3309          "arguments": {
  3310            "client": "failPointClient",
  3311            "failPoint": {
  3312              "configureFailPoint": "failCommand",
  3313              "mode": {
  3314                "times": 1
  3315              },
  3316              "data": {
  3317                "failCommands": [
  3318                  "createIndexes"
  3319                ],
  3320                "blockConnection": true,
  3321                "blockTimeMS": 15
  3322              }
  3323            }
  3324          }
  3325        },
  3326        {
  3327          "name": "createIndex",
  3328          "object": "collection",
  3329          "arguments": {
  3330            "timeoutMS": 0,
  3331            "keys": {
  3332              "x": 1
  3333            },
  3334            "name": "x_1"
  3335          }
  3336        }
  3337      ],
  3338      "expectEvents": [
  3339        {
  3340          "client": "client",
  3341          "events": [
  3342            {
  3343              "commandStartedEvent": {
  3344                "commandName": "createIndexes",
  3345                "databaseName": "test",
  3346                "command": {
  3347                  "createIndexes": "coll",
  3348                  "maxTimeMS": {
  3349                    "$$exists": false
  3350                  }
  3351                }
  3352              }
  3353            }
  3354          ]
  3355        }
  3356      ]
  3357    },
  3358    {
  3359      "description": "timeoutMS can be configured for an operation - dropIndex on collection",
  3360      "operations": [
  3361        {
  3362          "name": "failPoint",
  3363          "object": "testRunner",
  3364          "arguments": {
  3365            "client": "failPointClient",
  3366            "failPoint": {
  3367              "configureFailPoint": "failCommand",
  3368              "mode": {
  3369                "times": 1
  3370              },
  3371              "data": {
  3372                "failCommands": [
  3373                  "dropIndexes"
  3374                ],
  3375                "blockConnection": true,
  3376                "blockTimeMS": 15
  3377              }
  3378            }
  3379          }
  3380        },
  3381        {
  3382          "name": "dropIndex",
  3383          "object": "collection",
  3384          "arguments": {
  3385            "timeoutMS": 1000,
  3386            "name": "x_1"
  3387          },
  3388          "expectError": {
  3389            "isTimeoutError": false
  3390          }
  3391        }
  3392      ],
  3393      "expectEvents": [
  3394        {
  3395          "client": "client",
  3396          "events": [
  3397            {
  3398              "commandStartedEvent": {
  3399                "commandName": "dropIndexes",
  3400                "databaseName": "test",
  3401                "command": {
  3402                  "dropIndexes": "coll",
  3403                  "maxTimeMS": {
  3404                    "$$type": [
  3405                      "int",
  3406                      "long"
  3407                    ]
  3408                  }
  3409                }
  3410              }
  3411            }
  3412          ]
  3413        }
  3414      ]
  3415    },
  3416    {
  3417      "description": "timeoutMS can be set to 0 for an operation - dropIndex on collection",
  3418      "operations": [
  3419        {
  3420          "name": "failPoint",
  3421          "object": "testRunner",
  3422          "arguments": {
  3423            "client": "failPointClient",
  3424            "failPoint": {
  3425              "configureFailPoint": "failCommand",
  3426              "mode": {
  3427                "times": 1
  3428              },
  3429              "data": {
  3430                "failCommands": [
  3431                  "dropIndexes"
  3432                ],
  3433                "blockConnection": true,
  3434                "blockTimeMS": 15
  3435              }
  3436            }
  3437          }
  3438        },
  3439        {
  3440          "name": "dropIndex",
  3441          "object": "collection",
  3442          "arguments": {
  3443            "timeoutMS": 0,
  3444            "name": "x_1"
  3445          },
  3446          "expectError": {
  3447            "isTimeoutError": false
  3448          }
  3449        }
  3450      ],
  3451      "expectEvents": [
  3452        {
  3453          "client": "client",
  3454          "events": [
  3455            {
  3456              "commandStartedEvent": {
  3457                "commandName": "dropIndexes",
  3458                "databaseName": "test",
  3459                "command": {
  3460                  "dropIndexes": "coll",
  3461                  "maxTimeMS": {
  3462                    "$$exists": false
  3463                  }
  3464                }
  3465              }
  3466            }
  3467          ]
  3468        }
  3469      ]
  3470    },
  3471    {
  3472      "description": "timeoutMS can be configured for an operation - dropIndexes on collection",
  3473      "operations": [
  3474        {
  3475          "name": "failPoint",
  3476          "object": "testRunner",
  3477          "arguments": {
  3478            "client": "failPointClient",
  3479            "failPoint": {
  3480              "configureFailPoint": "failCommand",
  3481              "mode": {
  3482                "times": 1
  3483              },
  3484              "data": {
  3485                "failCommands": [
  3486                  "dropIndexes"
  3487                ],
  3488                "blockConnection": true,
  3489                "blockTimeMS": 15
  3490              }
  3491            }
  3492          }
  3493        },
  3494        {
  3495          "name": "dropIndexes",
  3496          "object": "collection",
  3497          "arguments": {
  3498            "timeoutMS": 1000
  3499          }
  3500        }
  3501      ],
  3502      "expectEvents": [
  3503        {
  3504          "client": "client",
  3505          "events": [
  3506            {
  3507              "commandStartedEvent": {
  3508                "commandName": "dropIndexes",
  3509                "databaseName": "test",
  3510                "command": {
  3511                  "dropIndexes": "coll",
  3512                  "maxTimeMS": {
  3513                    "$$type": [
  3514                      "int",
  3515                      "long"
  3516                    ]
  3517                  }
  3518                }
  3519              }
  3520            }
  3521          ]
  3522        }
  3523      ]
  3524    },
  3525    {
  3526      "description": "timeoutMS can be set to 0 for an operation - dropIndexes on collection",
  3527      "operations": [
  3528        {
  3529          "name": "failPoint",
  3530          "object": "testRunner",
  3531          "arguments": {
  3532            "client": "failPointClient",
  3533            "failPoint": {
  3534              "configureFailPoint": "failCommand",
  3535              "mode": {
  3536                "times": 1
  3537              },
  3538              "data": {
  3539                "failCommands": [
  3540                  "dropIndexes"
  3541                ],
  3542                "blockConnection": true,
  3543                "blockTimeMS": 15
  3544              }
  3545            }
  3546          }
  3547        },
  3548        {
  3549          "name": "dropIndexes",
  3550          "object": "collection",
  3551          "arguments": {
  3552            "timeoutMS": 0
  3553          }
  3554        }
  3555      ],
  3556      "expectEvents": [
  3557        {
  3558          "client": "client",
  3559          "events": [
  3560            {
  3561              "commandStartedEvent": {
  3562                "commandName": "dropIndexes",
  3563                "databaseName": "test",
  3564                "command": {
  3565                  "dropIndexes": "coll",
  3566                  "maxTimeMS": {
  3567                    "$$exists": false
  3568                  }
  3569                }
  3570              }
  3571            }
  3572          ]
  3573        }
  3574      ]
  3575    }
  3576  ]
  3577}

View as plain text