summaryrefslogtreecommitdiff
path: root/jstests/replsets/election_handoff_one_unelectable.js
blob: 970b605197c46028f48db6a522d10ea717c39665 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/**
 * This is a basic test that checks that, with election handoff enabled, a primary that steps down
 * sends a ReplSetStepUp request to an eligible candidate. This test uses a three-node replica
 * set, where one of the secondaries is unelectable, so the test expects the other one to get
 * chosen for election handoff.
 */

(function() {
"use strict";
load("jstests/replsets/libs/election_handoff.js");

const testName = "election_handoff_one_unelectable";
const numNodes = 3;
const rst = ReplSetTest({name: testName, nodes: numNodes});
const nodes = rst.nodeList();
rst.startSet();

const config = rst.getReplSetConfig();
config.members[1].priority = 0;

// Make sure there are no election timeouts firing for the duration of the test. This helps
// ensure that the test will only pass if the election handoff succeeds.
config.settings = {
    "electionTimeoutMillis": 12 * 60 * 60 * 1000
};
rst.initiate(config);

ElectionHandoffTest.testElectionHandoff(rst, 0, 2);

rst.stopSet();
})();