summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVesselina Ratcheva <vesselina.ratcheva@10gen.com>2018-07-12 16:19:57 -0400
committerVesselina Ratcheva <vesselina.ratcheva@10gen.com>2018-08-07 12:54:28 -0400
commitb7a94afa7c01e3d11b2cd258c36b260975518b29 (patch)
tree831d5183339e77ea849a5325ec96480dc4e7c2dd
parent26a4ec5b2dddb1791ce8a1be5fd0b000be58911e (diff)
downloadmongo-b7a94afa7c01e3d11b2cd258c36b260975518b29.tar.gz
SERVER-35624 Enable election handoff by default
(cherry picked from commit 34f57aeef3f838cff3dc00a2ac33f7ea90b167a8)
-rw-r--r--buildscripts/resmokeconfig/suites/replica_sets_pv0.yml3
-rw-r--r--jstests/replsets/libs/election_handoff.js5
-rw-r--r--src/mongo/db/repl/replication_coordinator_impl.cpp4
3 files changed, 8 insertions, 4 deletions
diff --git a/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml b/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml
index faefbc1cfd6..be2a0047e8f 100644
--- a/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml
+++ b/buildscripts/resmokeconfig/suites/replica_sets_pv0.yml
@@ -36,6 +36,9 @@ selector:
- jstests/replsets/catchup_takeover_two_nodes_ahead.js
# electionTimeoutMillis is not available in PV0.
- jstests/replsets/noop_writes_wait_for_write_concern_fcv.js
+ # Election handoff is not supported in PV0, since it requires replSetStepUp.
+ - jstests/replsets/election_handoff*.js
+
executor:
config:
diff --git a/jstests/replsets/libs/election_handoff.js b/jstests/replsets/libs/election_handoff.js
index 95b5effbc04..905b07521b6 100644
--- a/jstests/replsets/libs/election_handoff.js
+++ b/jstests/replsets/libs/election_handoff.js
@@ -36,8 +36,9 @@ var ElectionHandoffTest = (function() {
jsTestLog("Enabling election handoff...");
- // Enable election handoff.
- assert.commandWorked(primary.adminCommand({setParameter: 1, handOffElectionOnStepdown: 1}));
+ // Election handoff is enabled by default. This test explicitly configures it for safety
+ // purposes.
+ assert.commandWorked(primary.adminCommand({setParameter: 1, enableElectionHandoff: 1}));
jsTestLog("Stepping down primary...");
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp
index 106d9052c5b..b94c058935c 100644
--- a/src/mongo/db/repl/replication_coordinator_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_impl.cpp
@@ -108,7 +108,7 @@ const OperationContext::Decoration<bool> alwaysAllowNonLocalWrites =
MONGO_EXPORT_SERVER_PARAMETER(numInitialSyncAttempts, int, 10);
-MONGO_EXPORT_SERVER_PARAMETER(handOffElectionOnStepdown, bool, false);
+MONGO_EXPORT_SERVER_PARAMETER(enableElectionHandoff, bool, true);
// Number of seconds between noop writer writes.
MONGO_EXPORT_STARTUP_SERVER_PARAMETER(periodicNoopIntervalSecs, int, 10);
@@ -1828,7 +1828,7 @@ Status ReplicationCoordinatorImpl::stepDown(OperationContext* opCtx,
// If election handoff is enabled, schedule a step-up immediately instead of waiting for the
// election timeout to expire.
- if (!force && handOffElectionOnStepdown.load()) {
+ if (!force && enableElectionHandoff.load()) {
_performElectionHandoff();
}
return Status::OK();