runOn: - minServerVersion: "4.0" topology: ["replicaset"] database_name: &database_name "transaction-tests" collection_name: &collection_name "test" data: [] tests: - description: readConcern snapshot in startTransaction options sessionOptions: session0: defaultTransactionOptions: readConcern: level: majority # Overridden. operations: - name: startTransaction object: session0 arguments: options: readConcern: level: snapshot - name: insertOne object: collection arguments: session: session0 document: _id: 1 result: insertedId: 1 - name: commitTransaction object: session0 # Now test abort. - name: startTransaction object: session0 arguments: options: readConcern: level: snapshot - name: insertOne object: collection arguments: session: session0 document: _id: 2 result: insertedId: 2 - name: abortTransaction object: session0 expectations: - command_started_event: command: insert: *collection_name documents: - _id: 1 ordered: true lsid: session0 txnNumber: $numberLong: "1" startTransaction: true autocommit: false readConcern: level: snapshot writeConcern: command_name: insert database_name: *database_name - command_started_event: command: commitTransaction: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false readConcern: writeConcern: command_name: commitTransaction database_name: admin - command_started_event: command: insert: *collection_name documents: - _id: 2 ordered: true lsid: session0 txnNumber: $numberLong: "2" startTransaction: true autocommit: false readConcern: level: snapshot afterClusterTime: 42 writeConcern: command_name: insert database_name: *database_name - command_started_event: command: abortTransaction: 1 lsid: session0 txnNumber: $numberLong: "2" startTransaction: autocommit: false readConcern: writeConcern: command_name: abortTransaction database_name: admin outcome: collection: data: - _id: 1