summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Hirschhorn <max.hirschhorn@mongodb.com>2019-05-24 17:52:30 -0400
committerMax Hirschhorn <max.hirschhorn@mongodb.com>2019-05-24 17:52:30 -0400
commit0855ca379139f59a73276c0d2b24e9c47147b897 (patch)
tree191b6c24a6629221e752e273a117d5835d314bee
parent12ecabd2e68d04d67d1d0e392df4add40b9e99b4 (diff)
downloadmongo-0855ca379139f59a73276c0d2b24e9c47147b897.tar.gz
SERVER-40469 Remove expectPreparedTxnsDuringRollback option.
-rw-r--r--jstests/replsets/libs/rollback_test.js9
-rw-r--r--jstests/replsets/prepare_failover_rollback_commit.js7
-rw-r--r--jstests/replsets/recover_prepared_transaction_state.js5
-rw-r--r--jstests/replsets/rollback_reconstructs_transactions_prepared_before_stable.js5
4 files changed, 10 insertions, 16 deletions
diff --git a/jstests/replsets/libs/rollback_test.js b/jstests/replsets/libs/rollback_test.js
index 63395374cb8..d027154a71f 100644
--- a/jstests/replsets/libs/rollback_test.js
+++ b/jstests/replsets/libs/rollback_test.js
@@ -37,10 +37,8 @@ load("jstests/hooks/validate_collections.js");
*
* @param {string} [optional] name the name of the test being run
* @param {Object} [optional] replSet the ReplSetTest instance to adopt
- * @param {bool} [optional] expectPreparedTxnsDuringRollback a flag for knowing if we expect to see
- * transactions in prepare after a rollback
*/
-function RollbackTest(name = "RollbackTest", replSet, expectPreparedTxnsDuringRollback = false) {
+function RollbackTest(name = "RollbackTest", replSet) {
const State = {
kStopped: "kStopped",
kRollbackOps: "kRollbackOps",
@@ -251,9 +249,8 @@ function RollbackTest(name = "RollbackTest", replSet, expectPreparedTxnsDuringRo
// After the previous rollback (if any) has completed and await replication has finished,
// the replica set should be in a consistent and "fresh" state. We now prepare for the next
// rollback.
- if (expectPreparedTxnsDuringRollback === true || skipDataConsistencyChecks === true) {
- print('Skipping data consistency checks because there may be active transactions ' +
- 'on the primary after rollback');
+ if (skipDataConsistencyChecks) {
+ print('Skipping data consistency checks');
} else {
checkDataConsistency();
}
diff --git a/jstests/replsets/prepare_failover_rollback_commit.js b/jstests/replsets/prepare_failover_rollback_commit.js
index 658f20c1d32..979ba52eea8 100644
--- a/jstests/replsets/prepare_failover_rollback_commit.js
+++ b/jstests/replsets/prepare_failover_rollback_commit.js
@@ -16,8 +16,7 @@
const dbName = "test";
const collName = "prepare_failover_rollback_commit";
- const rollbackTest =
- new RollbackTest(collName, undefined, true /* expectPreparedTxnsDuringRollback */);
+ const rollbackTest = new RollbackTest(collName);
let primary = rollbackTest.getPrimary();
const testDB = primary.getDB(dbName);
@@ -41,7 +40,7 @@
rollbackTest.transitionToRollbackOperations();
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
- rollbackTest.transitionToSteadyStateOperations();
+ rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true});
// Now set up a rollback scenario for that new primary.
rollbackTest.transitionToRollbackOperations();
@@ -55,7 +54,7 @@
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
- rollbackTest.transitionToSteadyStateOperations();
+ rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true});
// Create a proxy session to reuse the session state of the old primary.
primary = rollbackTest.getPrimary();
diff --git a/jstests/replsets/recover_prepared_transaction_state.js b/jstests/replsets/recover_prepared_transaction_state.js
index 41416518b85..6dd0032b1d9 100644
--- a/jstests/replsets/recover_prepared_transaction_state.js
+++ b/jstests/replsets/recover_prepared_transaction_state.js
@@ -24,8 +24,7 @@
const dbName = "test";
const collName = "recover_prepared_transaction_state_after_rollback";
- const rollbackTest =
- new RollbackTest(dbName, undefined, true /* expect prepared transaction after rollback */);
+ const rollbackTest = new RollbackTest(dbName);
let primary = rollbackTest.getPrimary();
// Create collection we're using beforehand.
@@ -92,7 +91,7 @@
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
try {
- rollbackTest.transitionToSteadyStateOperations();
+ rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true});
} finally {
assert.commandWorked(
primary.adminCommand({configureFailPoint: 'disableSnapshotting', mode: 'off'}));
diff --git a/jstests/replsets/rollback_reconstructs_transactions_prepared_before_stable.js b/jstests/replsets/rollback_reconstructs_transactions_prepared_before_stable.js
index 59a7c7a5f27..22144fecc1e 100644
--- a/jstests/replsets/rollback_reconstructs_transactions_prepared_before_stable.js
+++ b/jstests/replsets/rollback_reconstructs_transactions_prepared_before_stable.js
@@ -14,8 +14,7 @@
const dbName = "test";
const collName = "rollback_reconstructs_transactions_prepared_before_stable";
- const rollbackTest =
- new RollbackTest(dbName, undefined, true /* expect prepared transaction after rollback */);
+ const rollbackTest = new RollbackTest(dbName);
let primary = rollbackTest.getPrimary();
// Create collection we're using beforehand.
@@ -56,7 +55,7 @@
rollbackTest.transitionToRollbackOperations();
rollbackTest.transitionToSyncSourceOperationsBeforeRollback();
rollbackTest.transitionToSyncSourceOperationsDuringRollback();
- rollbackTest.transitionToSteadyStateOperations();
+ rollbackTest.transitionToSteadyStateOperations({skipDataConsistencyChecks: true});
// Make sure there is still one transaction in the transactions table. This is because the
// entry in the transactions table is made durable when a transaction is prepared.