summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Zhang <jason.zhang@mongodb.com>2022-06-02 21:16:50 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-06-06 17:57:35 +0000
commita867b3538d285ad31fdca3a5219ce3b261e531ac (patch)
tree61e7442a90e07a4d28aa8a9870dbf9c39c633c43
parent29cd1eb4bd3dbd6d9909b7511096f78a71048280 (diff)
downloadmongo-a867b3538d285ad31fdca3a5219ce3b261e531ac.tar.gz
SERVER-66948 Catch NoSuchTransaction as an acceptable error in internal transactions coordinator cleanup test
(cherry picked from commit 10c8db0e325dd13c38b15ef7fef296355e1da3f9)
-rw-r--r--jstests/multiVersion/internal_sessions_setfcv_wait_for_transaction_coordinator_cleanup.js11
1 files changed, 9 insertions, 2 deletions
diff --git a/jstests/multiVersion/internal_sessions_setfcv_wait_for_transaction_coordinator_cleanup.js b/jstests/multiVersion/internal_sessions_setfcv_wait_for_transaction_coordinator_cleanup.js
index 4a9900dc445..e9b0aea9005 100644
--- a/jstests/multiVersion/internal_sessions_setfcv_wait_for_transaction_coordinator_cleanup.js
+++ b/jstests/multiVersion/internal_sessions_setfcv_wait_for_transaction_coordinator_cleanup.js
@@ -169,8 +169,15 @@ function runTestWithFailoverBeforeDocumentRemoval(lsid) {
autocommit: false,
}));
- assert.commandWorked(conn.adminCommand(
- {commitTransaction: 1, lsid: lsid, txnNumber: NumberLong(0), autocommit: false}));
+ // In the case where a commitTransaction retry attempt happens to execute after the
+ // transaction entry is removed from config.transactions and
+ // config.transaction_coordinators upon completion of the transaction and fcv downgrade, we
+ // have no way to recover the transaction decision, so the server will return
+ // NoSuchTransaction.
+ assert.commandWorkedOrFailedWithCode(
+ conn.adminCommand(
+ {commitTransaction: 1, lsid: lsid, txnNumber: NumberLong(0), autocommit: false}),
+ ErrorCodes.NoSuchTransaction);
};
const transactionCommitThread = new Thread(insertDocumentsInTransaction, st.s.host, txnParams);