summaryrefslogtreecommitdiff
path: root/jstests/replsets/resync_majority_member.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/replsets/resync_majority_member.js')
-rw-r--r--jstests/replsets/resync_majority_member.js13
1 files changed, 10 insertions, 3 deletions
diff --git a/jstests/replsets/resync_majority_member.js b/jstests/replsets/resync_majority_member.js
index e2b4a50bb63..221e4e2b2fc 100644
--- a/jstests/replsets/resync_majority_member.js
+++ b/jstests/replsets/resync_majority_member.js
@@ -11,8 +11,9 @@
(function() {
"use strict";
-load("jstests/libs/write_concern_util.js");
load("jstests/libs/fail_point_util.js");
+load("jstests/libs/storage_engine_utils.js");
+load("jstests/libs/write_concern_util.js");
TestData.skipCheckDBHashes = true; // the set is not consistent when we shutdown the test
@@ -90,8 +91,14 @@ assert.commandWorked(syncSource.getDB(dbName).getCollection(collName).insert(
// This failpoint will only be hit if the node's rollback common point is before the replication
// commit point, which triggers an invariant. This failpoint is used to verify the invariant
// will be hit without having to search the logs.
-const rollbackCommittedWritesFailPoint =
- configureFailPoint(rollbackNode, "rollbackHangCommonPointBeforeReplCommitPoint");
+let rollbackCommittedWritesFailPoint;
+if (storageEngineIsWiredTigerOrInMemory() && jsTest.options().enableMajorityReadConcern !== false) {
+ rollbackCommittedWritesFailPoint =
+ configureFailPoint(rollbackNode, "rollbackToTimestampHangCommonPointBeforeReplCommitPoint");
+} else {
+ rollbackCommittedWritesFailPoint =
+ configureFailPoint(rollbackNode, "rollbackViaRefetchHangCommonPointBeforeReplCommitPoint");
+}
// Node 1 will have to roll back to rejoin the set. It will crash as it will refuse to roll back
// majority committed data.