summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiyuan Zhou <siyuan.zhou@mongodb.com>2020-05-21 18:26:06 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-06-19 02:15:45 +0000
commit239975ac9ca4f5f31adc3b4a727ba516f6587aac (patch)
tree24516acf91a4807946ddc9b4188a798638c37d1f
parent8bc06dc92b364757090785fccc9a93f295147bc1 (diff)
downloadmongo-239975ac9ca4f5f31adc3b4a727ba516f6587aac.tar.gz
SERVER-48383 Wait for removed node to finish state transition in force_reconfig_skips_oplog_commitment.js
(cherry picked from commit 9c1c964657fc021f94e3d0e6fb806f6848547045)
-rw-r--r--jstests/replsets/force_reconfig_skips_oplog_commitment.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/jstests/replsets/force_reconfig_skips_oplog_commitment.js b/jstests/replsets/force_reconfig_skips_oplog_commitment.js
index bb98a7fee76..71d168ab43e 100644
--- a/jstests/replsets/force_reconfig_skips_oplog_commitment.js
+++ b/jstests/replsets/force_reconfig_skips_oplog_commitment.js
@@ -40,6 +40,14 @@ C1.members = C1.members.slice(0, 1); // Remove the second node.
C1.version++;
assert.commandWorked(primary.adminCommand({replSetReconfig: C1}));
+// Make sure we can connect to the secondary after it was REMOVED.
+assert.soonNoExcept(function() {
+ let res = secondary.adminCommand({replSetGetStatus: 1});
+ assert.commandFailedWithCode(res, ErrorCodes.InvalidReplicaSetConfig);
+ return true;
+}, () => tojson(secondary.adminCommand({replSetGetStatus: 1})));
+reconnect(secondary);
+
jsTestLog("Test that force reconfig skips oplog commitment.");
let C2 = Object.assign({}, origConfig);
@@ -55,8 +63,6 @@ const C3 = primary.getDB("local").system.replset.findOne();
// Run another force reconfig to verify the pre-condition check is also skipped
assert.commandWorked(primary.adminCommand({replSetReconfig: C3, force: true}));
-// Make sure we can connect to the secondary after it was REMOVED.
-reconnect(secondary);
restartServerReplication(secondary);
rst.awaitNodesAgreeOnConfigVersion();