diff options
author | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2018-07-12 16:19:57 -0400 |
---|---|---|
committer | Vesselina Ratcheva <vesselina.ratcheva@10gen.com> | 2018-08-07 12:54:28 -0400 |
commit | b7a94afa7c01e3d11b2cd258c36b260975518b29 (patch) | |
tree | 831d5183339e77ea849a5325ec96480dc4e7c2dd | |
parent | 26a4ec5b2dddb1791ce8a1be5fd0b000be58911e (diff) | |
download | mongo-b7a94afa7c01e3d11b2cd258c36b260975518b29.tar.gz |
SERVER-35624 Enable election handoff by default
(cherry picked from commit 34f57aeef3f838cff3dc00a2ac33f7ea90b167a8)
-rw-r--r-- | buildscripts/resmokeconfig/suites/replica_sets_pv0.yml | 3 | ||||
-rw-r--r-- | jstests/replsets/libs/election_handoff.js | 5 | ||||
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl.cpp | 4 |
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(); |