summaryrefslogtreecommitdiff
path: root/jstests/replsets
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-05-27 17:25:42 +0000
commit9c1c964657fc021f94e3d0e6fb806f6848547045 (patch)
treea870869a63f04d981a9bbe871e9bd2bc974968f8 /jstests/replsets
parentc90e5cbaab5815344219cc6723f0483483b0ab93 (diff)
downloadmongo-9c1c964657fc021f94e3d0e6fb806f6848547045.tar.gz
SERVER-48383 Wait for removed node to finish state transition in force_reconfig_skips_oplog_commitment.js
Diffstat (limited to 'jstests/replsets')
-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 1b05a157032..1ab7fd16d7c 100644
--- a/jstests/replsets/force_reconfig_skips_oplog_commitment.js
+++ b/jstests/replsets/force_reconfig_skips_oplog_commitment.js
@@ -38,6 +38,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);
@@ -53,8 +61,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();