runOn: - minServerVersion: "4.3.4" topology: ["replicaset", "sharded"] database_name: &database_name "transaction-tests" collection_name: &collection_name "test" data: [] tests: - description: create index on a non-existing collection operations: - name: dropCollection object: database arguments: collection: *collection_name - name: startTransaction object: session0 - name: createIndex object: collection arguments: session: session0 name: &index_name "t_1" keys: x: 1 - name: assertIndexNotExists object: testRunner arguments: database: *database_name collection: *collection_name index: *index_name - name: commitTransaction object: session0 - name: assertIndexExists object: testRunner arguments: database: *database_name collection: *collection_name index: *index_name expectations: - command_started_event: command: drop: *collection_name writeConcern: command_name: drop database_name: *database_name - command_started_event: command: createIndexes: *collection_name indexes: - name: *index_name key: x: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: true autocommit: false writeConcern: command_name: createIndexes database_name: *database_name - command_started_event: command: commitTransaction: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: command_name: commitTransaction database_name: admin - description: create index on a collection created within the same transaction operations: - name: dropCollection object: database arguments: collection: *collection_name - name: startTransaction object: session0 - name: createCollection object: database arguments: session: session0 collection: *collection_name - name: createIndex object: collection arguments: session: session0 name: *index_name keys: x: 1 - name: assertIndexNotExists object: testRunner arguments: database: *database_name collection: *collection_name index: *index_name - name: commitTransaction object: session0 - name: assertIndexExists object: testRunner arguments: database: *database_name collection: *collection_name index: *index_name expectations: - command_started_event: command: drop: *collection_name writeConcern: command_name: drop database_name: *database_name - command_started_event: command: create: *collection_name lsid: session0 txnNumber: $numberLong: "1" startTransaction: true autocommit: false writeConcern: command_name: create database_name: *database_name - command_started_event: command: createIndexes: *collection_name indexes: - name: *index_name key: x: 1 lsid: session0 writeConcern: command_name: createIndexes database_name: *database_name - command_started_event: command: commitTransaction: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: command_name: commitTransaction database_name: admin