summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
authorJason Chan <jason.chan@10gen.com>2020-03-24 12:18:00 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-03-24 23:13:42 +0000
commit4601bd54dfd3f3ab20b357b71a4b17667143c0fb (patch)
tree0cda19d8440a15b76394f8780cdc45b3b3818a71 /jstests
parent5e3e6c4fd4516cbdbc127f392dc96ec7a791e8c5 (diff)
downloadmongo-4601bd54dfd3f3ab20b357b71a4b17667143c0fb.tar.gz
SERVER-47057 Use assert.soon when verifying sync source host name in change_sync_source_in_initial_sync.js
Diffstat (limited to 'jstests')
-rw-r--r--jstests/replsets/change_sync_source_in_initial_sync.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/jstests/replsets/change_sync_source_in_initial_sync.js b/jstests/replsets/change_sync_source_in_initial_sync.js
index 868f85a42d2..0d592e42455 100644
--- a/jstests/replsets/change_sync_source_in_initial_sync.js
+++ b/jstests/replsets/change_sync_source_in_initial_sync.js
@@ -39,9 +39,12 @@ const initialSyncNode = rst.add({
rst.reInitiate();
rst.waitForState(initialSyncNode, ReplSetTest.State.STARTUP_2);
-let res = assert.commandWorked(initialSyncNode.adminCommand({"replSetGetStatus": 1}));
-assert.eq(primary.name, res.syncSourceHost, res);
-assert.eq(0, res.initialSyncStatus.failedInitialSyncAttempts);
+// Wait for the initial syncing node to choose a sync source.
+assert.soon(function() {
+ const res = assert.commandWorked(initialSyncNode.adminCommand({"replSetGetStatus": 1}));
+ return primary.name === res.syncSourceHost &&
+ res.initialSyncStatus.failedInitialSyncAttempts === 0;
+});
assert.commandWorked(
initialSyncNode.adminCommand({configureFailPoint: "forceSyncSourceCandidate", mode: "off"}));
@@ -55,7 +58,7 @@ let hangBeforeFinishInitialSync =
assert.commandWorked(initialSyncNode.adminCommand(
{configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'}));
hangBeforeFinishInitialSync.wait();
-res = assert.commandWorked(initialSyncNode.adminCommand({"replSetGetStatus": 1}));
+let res = assert.commandWorked(initialSyncNode.adminCommand({"replSetGetStatus": 1}));
assert.eq(secondary.name, res.syncSourceHost, res);
assert.eq(1, res.initialSyncStatus.failedInitialSyncAttempts);
assert.eq(2, res.initialSyncStatus.initialSyncAttempts.length);