# Autogenerated tests that transient errors in a transaction unpin the session. # See mongos-pin-auto-tests.py runOn: - minServerVersion: "4.1.8" topology: ["sharded"] # serverless proxy doesn't append error labels to errors in transactions # caused by failpoints (CLOUDP-88216) serverless: "forbid" database_name: &database_name "transaction-tests" collection_name: &collection_name "test" data: &data - {_id: 1} - {_id: 2} tests: - description: remain pinned after non-transient Interrupted error on insertOne useMultipleMongoses: true operations: - &startTransaction name: startTransaction object: session0 - &initialCommand name: insertOne object: collection arguments: session: session0 document: {_id: 3} result: insertedId: 3 - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 11601 - name: insertOne object: collection arguments: session: session0 document: _id: 4 result: errorLabelsOmit: ["TransientTransactionError", "UnknownTransactionCommitResult"] errorCodeName: Interrupted - &assertSessionPinned name: assertSessionPinned object: testRunner arguments: session: session0 - &commitTransaction name: commitTransaction object: session0 expectations: - command_started_event: command: insert: *collection_name documents: - _id: 3 ordered: true readConcern: lsid: session0 txnNumber: $numberLong: "1" startTransaction: true autocommit: false writeConcern: command_name: insert database_name: *database_name - command_started_event: command: insert: *collection_name documents: - _id: 4 ordered: true readConcern: lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: command_name: insert database_name: *database_name - command_started_event: command: commitTransaction: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: recoveryToken: 42 command_name: commitTransaction database_name: admin outcome: &outcome collection: data: - {_id: 1} - {_id: 2} - {_id: 3} - description: unpin after transient error within a transaction useMultipleMongoses: true operations: - &startTransaction name: startTransaction object: session0 - &initialCommand name: insertOne object: collection arguments: session: session0 document: _id: 3 result: insertedId: 3 - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: { times: 1 } data: failCommands: ["insert"] closeConnection: true - name: insertOne object: collection arguments: session: session0 document: _id: 4 result: errorLabelsContain: ["TransientTransactionError"] errorLabelsOmit: ["UnknownTransactionCommitResult"] # Session unpins from the first mongos after the insert error and # abortTransaction succeeds immediately on any mongos. - &assertSessionUnpinned name: assertSessionUnpinned object: testRunner arguments: session: session0 - &abortTransaction name: abortTransaction object: session0 expectations: - command_started_event: command: insert: *collection_name documents: - _id: 3 ordered: true readConcern: lsid: session0 txnNumber: $numberLong: "1" startTransaction: true autocommit: false writeConcern: command_name: insert database_name: *database_name - command_started_event: command: insert: *collection_name documents: - _id: 4 ordered: true readConcern: lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: command_name: insert database_name: *database_name - command_started_event: command: abortTransaction: 1 lsid: session0 txnNumber: $numberLong: "1" startTransaction: autocommit: false writeConcern: recoveryToken: 42 command_name: abortTransaction database_name: admin outcome: &outcome collection: data: *data # The rest of the tests in this file test every operation type against # multiple types of transient errors (connection and error code). - description: remain pinned after non-transient Interrupted error on insertOne insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 11601 - name: insertOne object: collection arguments: session: session0 document: {_id: 4} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on insertMany insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 11601 - name: insertMany object: collection arguments: session: session0 documents: [{_id: 4}, {_id: 5}] result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on updateOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 11601 - name: updateOne object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on replaceOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 11601 - name: replaceOne object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on updateMany update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 11601 - name: updateMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} update: {$set: {z: 1}} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on deleteOne delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 11601 - name: deleteOne object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on deleteMany delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 11601 - name: deleteMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on findOneAndDelete findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 11601 - name: findOneAndDelete object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on findOneAndUpdate findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 11601 - name: findOneAndUpdate object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} returnDocument: Before result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on findOneAndReplace findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 11601 - name: findOneAndReplace object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} returnDocument: Before result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on bulkWrite insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 11601 - name: bulkWrite object: collection arguments: session: session0 requests: - name: insertOne arguments: document: {_id: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on bulkWrite update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 11601 - name: bulkWrite object: collection arguments: session: session0 requests: - name: updateOne arguments: filter: {_id: 1} update: {$set: {x: 1}} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on bulkWrite delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 11601 - name: bulkWrite object: collection arguments: session: session0 requests: - name: deleteOne arguments: filter: {_id: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on find find useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["find"] errorCode: 11601 - name: find object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on countDocuments aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] errorCode: 11601 - name: countDocuments object: collection arguments: session: session0 filter: {} result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on aggregate aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] errorCode: 11601 - name: aggregate object: collection arguments: session: session0 pipeline: [] result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on distinct distinct useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["distinct"] errorCode: 11601 - name: distinct object: collection arguments: session: session0 fieldName: _id result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: remain pinned after non-transient Interrupted error on runCommand insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 11601 - name: runCommand object: database command_name: insert arguments: session: session0 command: insert: *collection_name documents: - _id : 1 result: errorLabelsOmit: ["TransientTransactionError"] - *assertSessionPinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on insertOne insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] closeConnection: true - name: insertOne object: collection arguments: session: session0 document: {_id: 4} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on insertOne insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 91 - name: insertOne object: collection arguments: session: session0 document: {_id: 4} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on insertMany insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] closeConnection: true - name: insertMany object: collection arguments: session: session0 documents: [{_id: 4}, {_id: 5}] result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on insertMany insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 91 - name: insertMany object: collection arguments: session: session0 documents: [{_id: 4}, {_id: 5}] result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on updateOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] closeConnection: true - name: updateOne object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on updateOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 91 - name: updateOne object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on replaceOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] closeConnection: true - name: replaceOne object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on replaceOne update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 91 - name: replaceOne object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on updateMany update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] closeConnection: true - name: updateMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} update: {$set: {z: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on updateMany update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 91 - name: updateMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} update: {$set: {z: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on deleteOne delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] closeConnection: true - name: deleteOne object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on deleteOne delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 91 - name: deleteOne object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on deleteMany delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] closeConnection: true - name: deleteMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on deleteMany delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 91 - name: deleteMany object: collection arguments: session: session0 filter: {_id: {$gte: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on findOneAndDelete findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] closeConnection: true - name: findOneAndDelete object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on findOneAndDelete findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 91 - name: findOneAndDelete object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on findOneAndUpdate findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] closeConnection: true - name: findOneAndUpdate object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} returnDocument: Before result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on findOneAndUpdate findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 91 - name: findOneAndUpdate object: collection arguments: session: session0 filter: {_id: 1} update: {$inc: {x: 1}} returnDocument: Before result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on findOneAndReplace findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] closeConnection: true - name: findOneAndReplace object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} returnDocument: Before result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on findOneAndReplace findAndModify useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["findAndModify"] errorCode: 91 - name: findOneAndReplace object: collection arguments: session: session0 filter: {_id: 1} replacement: {y: 1} returnDocument: Before result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on bulkWrite insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] closeConnection: true - name: bulkWrite object: collection arguments: session: session0 requests: - name: insertOne arguments: document: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on bulkWrite insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 91 - name: bulkWrite object: collection arguments: session: session0 requests: - name: insertOne arguments: document: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on bulkWrite update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] closeConnection: true - name: bulkWrite object: collection arguments: session: session0 requests: - name: updateOne arguments: filter: {_id: 1} update: {$set: {x: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on bulkWrite update useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["update"] errorCode: 91 - name: bulkWrite object: collection arguments: session: session0 requests: - name: updateOne arguments: filter: {_id: 1} update: {$set: {x: 1}} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on bulkWrite delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] closeConnection: true - name: bulkWrite object: collection arguments: session: session0 requests: - name: deleteOne arguments: filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on bulkWrite delete useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["delete"] errorCode: 91 - name: bulkWrite object: collection arguments: session: session0 requests: - name: deleteOne arguments: filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on find find useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["find"] closeConnection: true - name: find object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on find find useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["find"] errorCode: 91 - name: find object: collection arguments: session: session0 filter: {_id: 1} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on countDocuments aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] closeConnection: true - name: countDocuments object: collection arguments: session: session0 filter: {} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on countDocuments aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] errorCode: 91 - name: countDocuments object: collection arguments: session: session0 filter: {} result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on aggregate aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] closeConnection: true - name: aggregate object: collection arguments: session: session0 pipeline: [] result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on aggregate aggregate useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["aggregate"] errorCode: 91 - name: aggregate object: collection arguments: session: session0 pipeline: [] result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on distinct distinct useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["distinct"] closeConnection: true - name: distinct object: collection arguments: session: session0 fieldName: _id result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on distinct distinct useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["distinct"] errorCode: 91 - name: distinct object: collection arguments: session: session0 fieldName: _id result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient connection error on runCommand insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] closeConnection: true - name: runCommand object: database command_name: insert arguments: session: session0 command: insert: *collection_name documents: - _id : 1 result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome - description: unpin after transient ShutdownInProgress error on runCommand insert useMultipleMongoses: true operations: - *startTransaction - *initialCommand - name: targetedFailPoint object: testRunner arguments: session: session0 failPoint: configureFailPoint: failCommand mode: {times: 1} data: failCommands: ["insert"] errorCode: 91 - name: runCommand object: database command_name: insert arguments: session: session0 command: insert: *collection_name documents: - _id : 1 result: errorLabelsContain: ["TransientTransactionError"] - *assertSessionUnpinned - *abortTransaction outcome: *outcome