diff options
author | A. Jesse Jiryu Davis <jesse@mongodb.com> | 2020-03-05 16:28:07 -0500 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-03-10 02:37:48 +0000 |
commit | ef959bbc8e0b3601323a162eb99d69716b07e548 (patch) | |
tree | 26ff0325b77ca8add614c12dd454044c5437f71c /jstests/multiVersion/libs | |
parent | 4994a4809269c30a28cdbb686c8c876fad7b163a (diff) | |
download | mongo-ef959bbc8e0b3601323a162eb99d69716b07e548.tar.gz |
SERVER-46089 Test downgrade with arbiter
Diffstat (limited to 'jstests/multiVersion/libs')
-rw-r--r-- | jstests/multiVersion/libs/multi_rs.js | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/jstests/multiVersion/libs/multi_rs.js b/jstests/multiVersion/libs/multi_rs.js index ce67a5ed157..1529353aca5 100644 --- a/jstests/multiVersion/libs/multi_rs.js +++ b/jstests/multiVersion/libs/multi_rs.js @@ -10,14 +10,14 @@ ReplSetTest.prototype.upgradeSet = function(options, user, pwd) { let primary = this.getPrimary(); - // Upgrade secondaries first. this.upgradeSecondaries(primary, options, user, pwd); + this.upgradeArbiters(primary, options, user, pwd); - // Then upgrade the primary after stepping down. + // Upgrade the primary after stepping down. this.upgradePrimary(primary, options, user, pwd); }; -ReplSetTest.prototype.upgradeSecondaries = function(primary, options, user, pwd) { +ReplSetTest.prototype.upgradeMembers = function(primary, members, options, user, pwd) { const noDowntimePossible = this.nodes.length > 2; // Merge new options into node settings. @@ -25,14 +25,22 @@ ReplSetTest.prototype.upgradeSecondaries = function(primary, options, user, pwd) this.nodeOptions[nodeName] = Object.merge(this.nodeOptions[nodeName], options); } - for (let secondary of this.getSecondaries()) { - this.upgradeNode(secondary, options, user, pwd); + for (let member of members) { + this.upgradeNode(member, options, user, pwd); if (noDowntimePossible) assert.eq(this.getPrimary(), primary); } }; +ReplSetTest.prototype.upgradeSecondaries = function(primary, options, user, pwd) { + this.upgradeMembers(primary, this.getSecondaries(), options, user, pwd); +}; + +ReplSetTest.prototype.upgradeArbiters = function(primary, options, user, pwd) { + this.upgradeMembers(primary, this.getArbiters(), options, user, pwd); +}; + ReplSetTest.prototype.upgradePrimary = function(primary, options, user, pwd) { const noDowntimePossible = this.nodes.length > 2; @@ -122,7 +130,6 @@ ReplSetTest.prototype.stepdown = function(nodeId) { ReplSetTest.prototype.reconnect = function(node) { var nodeId = this.getNodeId(node); this.nodes[nodeId] = new Mongo(node.host); - var except = {}; for (var i in node) { if (typeof (node[i]) == "function") continue; |