summaryrefslogtreecommitdiff
path: root/jstests/replsets/election_handoff_flip.js
blob: 8ce2b804ca8bc5c7a3e87483304b4b29581d3f41 (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
/**
 * This test uses a two-node replica set and exercises election handoff from one node to the other,
 * then back to the first one.
 */

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

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

// 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.
rst.initiateWithHighElectionTimeout();

ElectionHandoffTest.testElectionHandoff(rst, 0, 1);
sleep(ElectionHandoffTest.stepDownPeriodSecs * 1000);
ElectionHandoffTest.testElectionHandoff(rst, 1, 0);

rst.stopSet();
})();