summaryrefslogtreecommitdiff
path: root/jstests/replsets/restore_term.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/replsets/restore_term.js')
-rw-r--r--jstests/replsets/restore_term.js96
1 files changed, 48 insertions, 48 deletions
diff --git a/jstests/replsets/restore_term.js b/jstests/replsets/restore_term.js
index 05c03a2dfee..072a22eb974 100644
--- a/jstests/replsets/restore_term.js
+++ b/jstests/replsets/restore_term.js
@@ -10,52 +10,52 @@ load("jstests/replsets/rslib.js");
// storage engines.
// @tags: [requires_persistence]
(function() {
- "use strict";
-
- function getCurrentTerm(primary) {
- var res = primary.adminCommand({replSetGetStatus: 1});
- assert.commandWorked(res);
- return res.term;
- }
-
- var name = "restore_term";
- var rst = new ReplSetTest({name: name, nodes: 2});
-
- rst.startSet();
- rst.initiate();
- rst.awaitSecondaryNodes();
-
- var primary = rst.getPrimary();
- var primaryColl = primary.getDB("test").coll;
-
- // Current term may be greater than 1 if election race happens.
- var firstSuccessfulTerm = getCurrentTerm(primary);
- assert.gte(firstSuccessfulTerm, 1);
- assert.writeOK(primaryColl.insert({x: 1}, {writeConcern: {w: "majority"}}));
- assert.eq(getCurrentTerm(primary), firstSuccessfulTerm);
-
- // Check that the insert op has the initial term.
- var latestOp = getLatestOp(primary);
- assert.eq(latestOp.op, "i");
- assert.eq(latestOp.t, firstSuccessfulTerm);
-
- // Step down to increase the term.
- assert.commandWorked(primary.adminCommand({replSetStepDown: 0}));
-
- rst.awaitSecondaryNodes();
- // The secondary became the new primary now with a higher term.
- // Since there's only one secondary who may run for election, the new term is higher by 1.
- assert.eq(getCurrentTerm(rst.getPrimary()), firstSuccessfulTerm + 1);
-
- // Restart the replset and verify the term is the same.
- rst.stopSet(null /* signal */, true /* forRestart */);
- rst.startSet({restart: true});
- rst.awaitSecondaryNodes();
- primary = rst.getPrimary();
-
- assert.eq(primary.getDB("test").coll.find().itcount(), 1);
- // After restart, the new primary stands up with the newer term.
- assert.gte(getCurrentTerm(primary), firstSuccessfulTerm + 1);
-
- rst.stopSet();
+"use strict";
+
+function getCurrentTerm(primary) {
+ var res = primary.adminCommand({replSetGetStatus: 1});
+ assert.commandWorked(res);
+ return res.term;
+}
+
+var name = "restore_term";
+var rst = new ReplSetTest({name: name, nodes: 2});
+
+rst.startSet();
+rst.initiate();
+rst.awaitSecondaryNodes();
+
+var primary = rst.getPrimary();
+var primaryColl = primary.getDB("test").coll;
+
+// Current term may be greater than 1 if election race happens.
+var firstSuccessfulTerm = getCurrentTerm(primary);
+assert.gte(firstSuccessfulTerm, 1);
+assert.writeOK(primaryColl.insert({x: 1}, {writeConcern: {w: "majority"}}));
+assert.eq(getCurrentTerm(primary), firstSuccessfulTerm);
+
+// Check that the insert op has the initial term.
+var latestOp = getLatestOp(primary);
+assert.eq(latestOp.op, "i");
+assert.eq(latestOp.t, firstSuccessfulTerm);
+
+// Step down to increase the term.
+assert.commandWorked(primary.adminCommand({replSetStepDown: 0}));
+
+rst.awaitSecondaryNodes();
+// The secondary became the new primary now with a higher term.
+// Since there's only one secondary who may run for election, the new term is higher by 1.
+assert.eq(getCurrentTerm(rst.getPrimary()), firstSuccessfulTerm + 1);
+
+// Restart the replset and verify the term is the same.
+rst.stopSet(null /* signal */, true /* forRestart */);
+rst.startSet({restart: true});
+rst.awaitSecondaryNodes();
+primary = rst.getPrimary();
+
+assert.eq(primary.getDB("test").coll.find().itcount(), 1);
+// After restart, the new primary stands up with the newer term.
+assert.gte(getCurrentTerm(primary), firstSuccessfulTerm + 1);
+
+rst.stopSet();
})();