diff options
author | Eric Milkie <milkie@10gen.com> | 2016-03-15 08:34:16 -0400 |
---|---|---|
committer | Benety Goh <benety@mongodb.com> | 2017-08-14 11:25:08 -0400 |
commit | c89e23461f28bb6a0cc3684f726912278385af59 (patch) | |
tree | 36ed1ead9facbb9140a2bc48468e3e9e2c7206c0 | |
parent | 8c4994913a437d2f26e9596d60a63cd235a35f02 (diff) | |
download | mongo-c89e23461f28bb6a0cc3684f726912278385af59.tar.gz |
SERVER-23148 patch multi_rs.js to ensure replSetMaintenance command succeeds
(cherry picked from commit ebf68ba0923844afefd6a9e237d478672da5e40d)
-rw-r--r-- | jstests/multiVersion/libs/multi_rs.js | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/jstests/multiVersion/libs/multi_rs.js b/jstests/multiVersion/libs/multi_rs.js index 673be42d3df..da976c7f4dc 100644 --- a/jstests/multiVersion/libs/multi_rs.js +++ b/jstests/multiVersion/libs/multi_rs.js @@ -50,7 +50,12 @@ ReplSetTest.prototype.upgradeNode = function(node, opts, user, pwd) { var isMaster = node.getDB('admin').runCommand({isMaster: 1}); if (!isMaster.arbiterOnly) { - assert.commandWorked(node.adminCommand("replSetMaintenance")); + // Must retry this command, as it might return "currently running for election" and fail. + // Node might still be running for an election that will fail because it lost the election + // race with another node, at test initialization. See SERVER-23133. + assert.soon(function() { + return (node.adminCommand("replSetMaintenance").ok); + }); this.waitForState(node, ReplSetTest.State.RECOVERING); } |