diff options
Diffstat (limited to 'jstests/replsets/prepare_failover_rollback_commit.js')
-rw-r--r-- | jstests/replsets/prepare_failover_rollback_commit.js | 80 |
1 files changed, 40 insertions, 40 deletions
diff --git a/jstests/replsets/prepare_failover_rollback_commit.js b/jstests/replsets/prepare_failover_rollback_commit.js index 979ba52eea8..487e4620ea6 100644 --- a/jstests/replsets/prepare_failover_rollback_commit.js +++ b/jstests/replsets/prepare_failover_rollback_commit.js @@ -9,59 +9,59 @@ * @tags: [uses_transactions, uses_prepare_transaction] */ (function() { - "use strict"; - load("jstests/replsets/libs/rollback_test.js"); - load("jstests/core/txns/libs/prepare_helpers.js"); +"use strict"; +load("jstests/replsets/libs/rollback_test.js"); +load("jstests/core/txns/libs/prepare_helpers.js"); - const dbName = "test"; - const collName = "prepare_failover_rollback_commit"; +const dbName = "test"; +const collName = "prepare_failover_rollback_commit"; - const rollbackTest = new RollbackTest(collName); +const rollbackTest = new RollbackTest(collName); - let primary = rollbackTest.getPrimary(); - const testDB = primary.getDB(dbName); - const testColl = testDB.getCollection(collName); +let primary = rollbackTest.getPrimary(); +const testDB = primary.getDB(dbName); +const testColl = testDB.getCollection(collName); - // First create the collection for all. - assert.commandWorked(testColl.insert({"a": "baseDoc"})); +// First create the collection for all. +assert.commandWorked(testColl.insert({"a": "baseDoc"})); - const session = primary.startSession(); - const sessionDB = session.getDatabase(dbName); - const sessionColl = sessionDB.getCollection(collName); +const session = primary.startSession(); +const sessionDB = session.getDatabase(dbName); +const sessionColl = sessionDB.getCollection(collName); - session.startTransaction(); - assert.commandWorked(sessionColl.insert({"b": "transactionDoc"})); +session.startTransaction(); +assert.commandWorked(sessionColl.insert({"b": "transactionDoc"})); - // Prepare a transaction. This will be replicated to the secondary. - const prepareTimestamp = PrepareHelpers.prepareTransaction(session); +// Prepare a transaction. This will be replicated to the secondary. +const prepareTimestamp = PrepareHelpers.prepareTransaction(session); - // Do a failover first, without rolling back any of the data from this test. We want the - // current secondary to become primary and inherit the prepared transaction. - rollbackTest.transitionToRollbackOperations(); - rollbackTest.transitionToSyncSourceOperationsBeforeRollback(); - rollbackTest.transitionToSyncSourceOperationsDuringRollback(); - rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true}); +// Do a failover first, without rolling back any of the data from this test. We want the +// current secondary to become primary and inherit the prepared transaction. +rollbackTest.transitionToRollbackOperations(); +rollbackTest.transitionToSyncSourceOperationsBeforeRollback(); +rollbackTest.transitionToSyncSourceOperationsDuringRollback(); +rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true}); - // Now set up a rollback scenario for that new primary. - rollbackTest.transitionToRollbackOperations(); +// Now set up a rollback scenario for that new primary. +rollbackTest.transitionToRollbackOperations(); - // Create a proxy session to reuse the session state of the old primary. - primary = rollbackTest.getPrimary(); - const newSession1 = new _DelegatingDriverSession(primary, session); +// Create a proxy session to reuse the session state of the old primary. +primary = rollbackTest.getPrimary(); +const newSession1 = new _DelegatingDriverSession(primary, session); - // Commit the transaction on this primary. We expect the commit to roll back. - assert.commandWorked(PrepareHelpers.commitTransaction(newSession1, prepareTimestamp)); +// Commit the transaction on this primary. We expect the commit to roll back. +assert.commandWorked(PrepareHelpers.commitTransaction(newSession1, prepareTimestamp)); - rollbackTest.transitionToSyncSourceOperationsBeforeRollback(); - rollbackTest.transitionToSyncSourceOperationsDuringRollback(); - rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true}); +rollbackTest.transitionToSyncSourceOperationsBeforeRollback(); +rollbackTest.transitionToSyncSourceOperationsDuringRollback(); +rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true}); - // Create a proxy session to reuse the session state of the old primary. - primary = rollbackTest.getPrimary(); - const newSession2 = new _DelegatingDriverSession(primary, session); +// Create a proxy session to reuse the session state of the old primary. +primary = rollbackTest.getPrimary(); +const newSession2 = new _DelegatingDriverSession(primary, session); - // Commit the transaction for all to conclude the test. - assert.commandWorked(PrepareHelpers.commitTransaction(newSession2, prepareTimestamp)); +// Commit the transaction for all to conclude the test. +assert.commandWorked(PrepareHelpers.commitTransaction(newSession2, prepareTimestamp)); - rollbackTest.stop(); +rollbackTest.stop(); })(); |