Files
mongo/jstests/replsets/prepare_txn_table_updates.js
Moustafa Maher fed93d6210 SERVER-113734 Support new config.transactions fields in oplog application (#45222)
GitOrigin-RevId: fcda1cf1e6df39c14b39b0eadae9cb1e295d84e4
2025-12-19 11:18:30 +00:00

29 lines
977 B
JavaScript

/**
* Test different prepare-transaction oplog formats and verify that the config.transactions table
* entries match between the primary and secondary.
*
* @tags: [uses_transactions, uses_prepare_transaction]
*/
import {PrepareHelpers} from "jstests/core/txns/libs/prepare_helpers.js";
import {ReplSetTest} from "jstests/libs/replsettest.js";
import {checkPrepareTxnTableUpdate} from "jstests/replsets/libs/prepare_txn_table_updates_helper.js";
function doTest(commitOrAbort) {
const replSet = new ReplSetTest({
nodes: [{}, {rsConfig: {priority: 0, votes: 0}}],
});
replSet.startSet(PrepareHelpers.replSetStartSetOptions);
replSet.initiate();
const primary = replSet.getPrimary();
const secondary = replSet.getSecondary();
checkPrepareTxnTableUpdate(primary, secondary, commitOrAbort);
// Verify all config.transactions entries after all transactions have completed.
replSet.stopSet();
}
doTest("commit");
doTest("abort");