diff options
Diffstat (limited to 'jstests/replsets')
18 files changed, 76 insertions, 100 deletions
diff --git a/jstests/replsets/initial_sync_applier_error.js b/jstests/replsets/initial_sync_applier_error.js index 51454c98ea9..637625b6fb9 100644 --- a/jstests/replsets/initial_sync_applier_error.js +++ b/jstests/replsets/initial_sync_applier_error.js @@ -12,6 +12,7 @@ (function() { "use strict"; load("jstests/libs/check_log.js"); +load("jstests/libs/fail_point_util.js"); var name = 'initial_sync_applier_error'; var replSet = new ReplSetTest({ @@ -31,18 +32,15 @@ assert.commandWorked(coll.insert({_id: 0, content: "hi"})); var secondary = replSet.add({setParameter: "numInitialSyncAttempts=2"}); secondary.setSlaveOk(); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'alwaysOn'})); +let failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCopyingDatabases'); replSet.reInitiate(); // Wait for fail point message to be logged. -checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCopyingDatabases fail point enabled'); +failPoint.wait(); var newCollName = name + '_2'; assert.commandWorked(coll.renameCollection(newCollName, true)); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'})); +failPoint.off(); checkLog.contains(secondary, 'initial sync done'); diff --git a/jstests/replsets/initial_sync_capped_index.js b/jstests/replsets/initial_sync_capped_index.js index 7319fcfdde8..8ce051d0e49 100644 --- a/jstests/replsets/initial_sync_capped_index.js +++ b/jstests/replsets/initial_sync_capped_index.js @@ -26,7 +26,7 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); +load("jstests/libs/fail_point_util.js"); load("jstests/replsets/rslib.js"); // for waitForState /** @@ -84,17 +84,14 @@ var collectionClonerFailPoint = "initialSyncHangCollectionClonerAfterHandlingBat // Make the collection cloner pause after its initial 'find' response on the capped collection. var nss = dbName + "." + cappedCollName; jsTestLog("Enabling collection cloner fail point for " + nss); -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: collectionClonerFailPoint, mode: 'alwaysOn', data: {nss: nss}})); +let failPoint = configureFailPoint(secondary, collectionClonerFailPoint, {nss: nss}); // Let the SECONDARY begin initial sync. jsTestLog("Re-initiating replica set with new secondary."); replTest.reInitiate(); jsTestLog("Waiting for the initial 'find' response of capped collection cloner to complete."); -checkLog.contains( - secondary, - "initialSyncHangCollectionClonerAfterHandlingBatchResponse fail point enabled for " + nss); +failPoint.wait(); // Append documents to the capped collection so that the SECONDARY will clone these // additional documents. @@ -105,8 +102,7 @@ for (var i = 0; i < docsToAppend; i++) { // Let the 'getMore' requests for the capped collection clone continue. jsTestLog("Disabling collection cloner fail point for " + nss); -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: collectionClonerFailPoint, mode: 'off', data: {nss: nss}})); +failPoint.off(); // Wait until initial sync completes. replTest.awaitReplication(); diff --git a/jstests/replsets/initial_sync_commit_prepared_transaction.js b/jstests/replsets/initial_sync_commit_prepared_transaction.js index 80198e82673..8be6d3bc074 100644 --- a/jstests/replsets/initial_sync_commit_prepared_transaction.js +++ b/jstests/replsets/initial_sync_commit_prepared_transaction.js @@ -9,7 +9,6 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); load("jstests/core/txns/libs/prepare_helpers.js"); const replTest = new ReplSetTest({nodes: 2}); @@ -73,7 +72,8 @@ secondary = replTest.start( true /* wait */); // Wait for failpoint to be reached so we know that collection cloning is paused. -checkLog.contains(secondary, "initialSyncHangDuringCollectionClone fail point enabled"); +assert.commandWorked(secondary.adminCommand( + {waitForFailPoint: "initialSyncHangDuringCollectionClone", timesEntered: 1})); jsTestLog("Running operations while collection cloning is paused"); diff --git a/jstests/replsets/initial_sync_drop_collection.js b/jstests/replsets/initial_sync_drop_collection.js index 72fa5b5d273..35fca8b6de1 100644 --- a/jstests/replsets/initial_sync_drop_collection.js +++ b/jstests/replsets/initial_sync_drop_collection.js @@ -44,10 +44,13 @@ function setupTest({failPoint, secondaryStartupParams}) { // can check initialSyncStatus fields after initial sync is complete. secondaryStartupParams['failpoint.skipClearInitialSyncState'] = tojson({mode: 'alwaysOn'}); secondaryStartupParams['numInitialSyncAttempts'] = 1; - replTest.restart(secondary, {startClean: true, setParameter: secondaryStartupParams}); + secondary = + replTest.restart(secondary, {startClean: true, setParameter: secondaryStartupParams}); + secondaryDB = secondary.getDB(dbName); + secondaryColl = secondaryDB[collName]; jsTestLog("Waiting for secondary to reach failPoint " + failPoint); - checkLog.contains(secondary, failPoint + " fail point enabled for " + nss); + assert.commandWorked(secondary.adminCommand({waitForFailPoint: failPoint, timesEntered: 1})); // Restarting the secondary may have resulted in an election. Wait until the system // stabilizes and reaches RS_STARTUP2 state. diff --git a/jstests/replsets/initial_sync_during_stepdown.js b/jstests/replsets/initial_sync_during_stepdown.js index fe5d1a79587..ecc76114d34 100644 --- a/jstests/replsets/initial_sync_during_stepdown.js +++ b/jstests/replsets/initial_sync_during_stepdown.js @@ -51,7 +51,9 @@ function setupTest({ // Skip clearing initial sync progress after a successful initial sync attempt so that we // can check initialSyncStatus fields after initial sync is complete. secondaryStartupParams['failpoint.skipClearInitialSyncState'] = tojson({mode: 'alwaysOn'}); - rst.start(secondary, {startClean: true, setParameter: secondaryStartupParams}); + secondary = rst.start(secondary, {startClean: true, setParameter: secondaryStartupParams}); + secondaryDB = secondary.getDB(dbName); + secondaryColl = secondaryDB[collName]; // Wait until secondary reaches RS_STARTUP2 state. rst.waitForState(secondary, ReplSetTest.State.STARTUP_2); @@ -141,7 +143,8 @@ setupTest({ }); jsTestLog("Waiting for collection cloning to complete."); -checkLog.contains(secondary, "initialSyncHangAfterDataCloning fail point enabled"); +assert.commandWorked( + secondary.adminCommand({waitForFailPoint: "initialSyncHangAfterDataCloning", timesEntered: 1})); // Insert more data so that these are replicated to secondary node via oplog fetcher. jsTestLog("Inserting more data on primary."); diff --git a/jstests/replsets/initial_sync_fcv.js b/jstests/replsets/initial_sync_fcv.js index 01c2744949a..ab83e24d8fe 100644 --- a/jstests/replsets/initial_sync_fcv.js +++ b/jstests/replsets/initial_sync_fcv.js @@ -44,8 +44,8 @@ function runInitialSync(cmd, initialFCV) { // Initial sync clones the 'admin' database first, which will set the fCV on the // secondary to initialFCV. We then block the secondary before issuing 'listCollections' on // the test database. - checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeListCollections fail point enabled'); + assert.commandWorked(secondary.adminCommand( + {waitForFailPoint: "initialSyncHangBeforeListCollections", timesEntered: 1})); // Initial sync is stopped right before 'listCollections' on the test database. We now run // the test command to modify the fCV. diff --git a/jstests/replsets/initial_sync_fetch_from_oldest_active_transaction_timestamp.js b/jstests/replsets/initial_sync_fetch_from_oldest_active_transaction_timestamp.js index eea0ebfab20..d70f72889ee 100644 --- a/jstests/replsets/initial_sync_fetch_from_oldest_active_transaction_timestamp.js +++ b/jstests/replsets/initial_sync_fetch_from_oldest_active_transaction_timestamp.js @@ -16,7 +16,6 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); load("jstests/core/txns/libs/prepare_helpers.js"); const replTest = new ReplSetTest({nodes: 2}); @@ -109,8 +108,8 @@ secondary = replTest.start( jsTestLog("Secondary was restarted"); // Wait for failpoint to be reached so we know that collection cloning is paused. -checkLog.contains(secondary, "initialSyncHangDuringCollectionClone fail point enabled"); - +assert.commandWorked(secondary.adminCommand( + {waitForFailPoint: "initialSyncHangDuringCollectionClone", timesEntered: 1})); jsTestLog("Running operations while collection cloning is paused"); // Run some operations on the sync source while collection cloning is paused so that we know diff --git a/jstests/replsets/initial_sync_move_forward.js b/jstests/replsets/initial_sync_move_forward.js index 534a2d8d72e..fc54b450400 100644 --- a/jstests/replsets/initial_sync_move_forward.js +++ b/jstests/replsets/initial_sync_move_forward.js @@ -14,6 +14,7 @@ (function() { "use strict"; +load("jstests/libs/fail_point_util.js"); load("jstests/libs/get_index_helpers.js"); var rst = new ReplSetTest({name: "initial_sync_move_forward", nodes: 1}); @@ -43,22 +44,11 @@ secondary.setSlaveOk(); var secondaryColl = secondary.getDB("test").coll; // Pause initial sync when the secondary has copied {_id: 0, x: 0} and {_id: 1, x: 1}. -assert.commandWorked(secondary.adminCommand({ - configureFailPoint: "initialSyncHangDuringCollectionClone", - data: {namespace: secondaryColl.getFullName(), numDocsToClone: 2}, - mode: "alwaysOn" -})); +var failPoint = configureFailPoint(secondary, + "initialSyncHangDuringCollectionClone", + {namespace: secondaryColl.getFullName(), numDocsToClone: 2}); rst.reInitiate(); -assert.soon(function() { - var logMessages = assert.commandWorked(secondary.adminCommand({getLog: "global"})).log; - for (var i = 0; i < logMessages.length; i++) { - if (logMessages[i].indexOf( - "initial sync - initialSyncHangDuringCollectionClone fail point enabled") != -1) { - return true; - } - } - return false; -}); +failPoint.wait(); // Delete {_id: count - 2} to make a hole. Grow {_id: 0} so that it moves into that hole. This // will cause the secondary to clone {_id: 0} again. @@ -75,8 +65,7 @@ assert.commandWorked(masterColl.remove({_id: count - 1, x: count - 1})); assert.commandWorked(masterColl.insert({_id: count, x: 1, longString: longString})); // Resume initial sync. -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: "initialSyncHangDuringCollectionClone", mode: "off"})); +failPoint.off(); // Wait for initial sync to finish. rst.awaitSecondaryNodes(); diff --git a/jstests/replsets/initial_sync_oplog_hole.js b/jstests/replsets/initial_sync_oplog_hole.js index a5bd24b96b3..63635d471f9 100644 --- a/jstests/replsets/initial_sync_oplog_hole.js +++ b/jstests/replsets/initial_sync_oplog_hole.js @@ -7,6 +7,7 @@ "use strict"; load("jstests/libs/check_log.js"); +load("jstests/libs/fail_point_util.js"); load("jstests/replsets/rslib.js"); // Set up replica set. Disallow chaining so nodes always sync from primary. @@ -40,19 +41,16 @@ assert.commandWorked(primaryColl.insert({_id: "a"})); assert.eq(primaryColl.find({_id: "a"}).itcount(), 1); jsTest.log("Create the uncommitted write."); -assert.commandWorked(primaryDB.adminCommand({ - configureFailPoint: "hangAfterCollectionInserts", - mode: "alwaysOn", - data: {collectionNS: primaryColl.getFullName(), first_id: "b"} -})); +const failPoint = configureFailPoint(primaryDB, + "hangAfterCollectionInserts", + {collectionNS: primaryColl.getFullName(), first_id: "b"}); const db = primaryDB; const joinHungWrite = startParallelShell(() => { assert.commandWorked( db.getSiblingDB(TestData.testName)[TestData.collectionName].insert({_id: "b"})); }, primary.port); -checkLog.contains(primaryDB.getMongo(), - "hangAfterCollectionInserts fail point enabled for " + primaryColl.getFullName()); +failPoint.wait(); jsTest.log("Create a write following the uncommitted write."); assert.commandWorked(primaryColl.insert({_id: "c"})); diff --git a/jstests/replsets/initial_sync_oplog_rollover.js b/jstests/replsets/initial_sync_oplog_rollover.js index 268548f1f80..d61f7250ee4 100644 --- a/jstests/replsets/initial_sync_oplog_rollover.js +++ b/jstests/replsets/initial_sync_oplog_rollover.js @@ -9,7 +9,8 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); + +load("jstests/libs/fail_point_util.js"); var name = 'initial_sync_oplog_rollover'; var replSet = new ReplSetTest({ @@ -42,12 +43,10 @@ var firstOplogEntry = getFirstOplogEntry(primary); var secondary = replSet.add(); secondary.setSlaveOk(); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'alwaysOn'})); +var failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCopyingDatabases'); replSet.reInitiate(); -checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCopyingDatabases fail point enabled'); +failPoint.wait(); // Keep inserting large documents until they roll over the oplog. const largeStr = new Array(4 * 1024 * oplogSizeOnPrimary).join('aaaaaaaa'); @@ -57,8 +56,7 @@ while (bsonWoCompare(getFirstOplogEntry(primary), firstOplogEntry) === 0) { sleep(100); } -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'})); +failPoint.off(); replSet.awaitSecondaryNodes(200 * 1000); diff --git a/jstests/replsets/initial_sync_read_concern_no_oplog.js b/jstests/replsets/initial_sync_read_concern_no_oplog.js index 6ad3974cea3..63c0c6739a3 100644 --- a/jstests/replsets/initial_sync_read_concern_no_oplog.js +++ b/jstests/replsets/initial_sync_read_concern_no_oplog.js @@ -2,7 +2,8 @@ // created its oplog, the node returns an error rather than crashing. (function() { 'use strict'; -load('jstests/libs/check_log.js'); + +load("jstests/libs/fail_point_util.js"); const replSet = new ReplSetTest({nodes: 1}); @@ -11,20 +12,17 @@ replSet.initiate(); const primary = replSet.getPrimary(); const secondary = replSet.add(); -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: 'initialSyncHangBeforeCreatingOplog', mode: 'alwaysOn'})); +const failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCreatingOplog'); replSet.reInitiate(); -checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCreatingOplog fail point enabled'); +failPoint.wait(); assert.commandFailedWithCode( secondary.getDB('local').runCommand( {find: 'coll', limit: 1, readConcern: {afterClusterTime: Timestamp(1, 1)}}), ErrorCodes.NotYetInitialized); -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: 'initialSyncHangBeforeCreatingOplog', mode: 'off'})); +failPoint.off(); replSet.awaitReplication(); replSet.awaitSecondaryNodes(); diff --git a/jstests/replsets/initial_sync_rename_collection.js b/jstests/replsets/initial_sync_rename_collection.js index 957dae9db8a..a06ad6862b5 100644 --- a/jstests/replsets/initial_sync_rename_collection.js +++ b/jstests/replsets/initial_sync_rename_collection.js @@ -7,6 +7,7 @@ (function() { 'use strict'; +load("jstests/libs/fail_point_util.js"); load('jstests/replsets/rslib.js'); const basename = 'initial_sync_rename_collection'; @@ -43,8 +44,7 @@ const secondary = rst.add({setParameter: 'numInitialSyncAttempts=1'}); // Add a fail point that causes the secondary's initial sync to hang before // copying databases. -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'alwaysOn'})); +const failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCopyingDatabases'); jsTestLog('Begin initial sync on secondary'); let conf = rst.getPrimary().getDB('admin').runCommand({replSetGetConfig: 1}).config; @@ -55,8 +55,7 @@ assert.eq(primary, rst.getPrimary(), 'Primary changed after reconfig'); // Confirm that initial sync started on the secondary node. jsTestLog('Waiting for initial sync to start'); -checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCopyingDatabases fail point enabled'); +failPoint.wait(); // Start renaming collections while initial sync is hanging. jsTestLog('Rename collection ' + db0_name + '.' + collRenameWithinDB_name + ' to ' + db0_name + @@ -72,8 +71,7 @@ assert.commandWorked(primary.adminCommand({ })); // Disable fail point so that the secondary can finish its initial sync. -assert.commandWorked(secondary.adminCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'})); +failPoint.off(); jsTestLog('Wait for both nodes to be up-to-date'); rst.awaitSecondaryNodes(); diff --git a/jstests/replsets/initial_sync_replSetGetStatus.js b/jstests/replsets/initial_sync_replSetGetStatus.js index 96397750f44..c4e1ddc0afb 100644 --- a/jstests/replsets/initial_sync_replSetGetStatus.js +++ b/jstests/replsets/initial_sync_replSetGetStatus.js @@ -5,7 +5,8 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); + +load("jstests/libs/fail_point_util.js"); var name = 'initial_sync_replSetGetStatus'; var replSet = new ReplSetTest({ @@ -25,15 +26,12 @@ assert.commandWorked(coll.insert({a: 2})); var secondary = replSet.add(); secondary.setSlaveOk(); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'alwaysOn'})); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeFinish', mode: 'alwaysOn'})); +var failPointBeforeCopying = configureFailPoint(secondary, 'initialSyncHangBeforeCopyingDatabases'); +var failPointBeforeFinish = configureFailPoint(secondary, 'initialSyncHangBeforeFinish'); replSet.reInitiate(); // Wait for initial sync to pause before it copies the databases. -checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCopyingDatabases fail point enabled'); +failPointBeforeCopying.wait(); // Test that replSetGetStatus returns the correct results while initial sync is in progress. var res = assert.commandWorked(secondary.adminCommand({replSetGetStatus: 1})); @@ -51,11 +49,10 @@ assert.commandWorked(coll.insert({a: 3})); assert.commandWorked(coll.insert({a: 4})); // Let initial sync continue working. -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'})); +failPointBeforeCopying.off(); // Wait for initial sync to pause right before it finishes. -checkLog.contains(secondary, 'initial sync - initialSyncHangBeforeFinish fail point enabled'); +failPointBeforeFinish.wait(); // Test that replSetGetStatus returns the correct results when initial sync is at the very end. res = assert.commandWorked(secondary.adminCommand({replSetGetStatus: 1})); @@ -73,8 +70,7 @@ assert.eq(res.initialSyncStatus.databases.test["test.foo"].indexes, 1); assert.eq(res.initialSyncStatus.databases.test["test.foo"].fetchedBatches, 1); // Let initial sync finish and get into secondary state. -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeFinish', mode: 'off'})); +failPointBeforeFinish.off(); replSet.awaitSecondaryNodes(60 * 1000); // Test that replSetGetStatus returns the correct results after initial sync is finished. diff --git a/jstests/replsets/initial_sync_reset_oldest_timestamp_after_failed_attempt.js b/jstests/replsets/initial_sync_reset_oldest_timestamp_after_failed_attempt.js index 0ec56197438..96a1663205a 100644 --- a/jstests/replsets/initial_sync_reset_oldest_timestamp_after_failed_attempt.js +++ b/jstests/replsets/initial_sync_reset_oldest_timestamp_after_failed_attempt.js @@ -9,7 +9,6 @@ (function() { "use strict"; -load("jstests/libs/check_log.js"); load("jstests/core/txns/libs/prepare_helpers.js"); // Set the number of initial sync attempts to 2 so that the test fails on unplanned failures. @@ -63,7 +62,8 @@ secondary = replTest.start( true /* wait */); // Wait for failpoint to be reached so we know that collection cloning is paused. -checkLog.contains(secondary, "initialSyncHangAfterDataCloning fail point enabled"); +assert.commandWorked( + secondary.adminCommand({waitForFailPoint: "initialSyncHangAfterDataCloning", timesEntered: 1})); jsTestLog("Running operations while collection cloning is paused"); @@ -82,7 +82,8 @@ assert.commandWorked( secondary.adminCommand({configureFailPoint: "initialSyncHangAfterDataCloning", mode: "off"})); // Wait for this failpoint to be hit before turning it off and causing initial sync to fail. -checkLog.contains(secondary, "failInitialSyncBeforeApplyingBatch fail point enabled"); +assert.commandWorked(secondary.adminCommand( + {waitForFailPoint: "failInitialSyncBeforeApplyingBatch", timesEntered: 1})); jsTestLog("Failing first initial sync attempt"); diff --git a/jstests/replsets/initial_sync_update_missing_doc_upsert.js b/jstests/replsets/initial_sync_update_missing_doc_upsert.js index 9fe203fef67..d7637ac7ab7 100644 --- a/jstests/replsets/initial_sync_update_missing_doc_upsert.js +++ b/jstests/replsets/initial_sync_update_missing_doc_upsert.js @@ -10,8 +10,8 @@ */ (function() { +load("jstests/libs/fail_point_util.js"); load("jstests/replsets/libs/initial_sync_update_missing_doc.js"); -load("jstests/libs/check_log.js"); const replSet = new ReplSetTest({nodes: 1}); @@ -34,11 +34,10 @@ const secondary = reInitiateSetWithSecondary(replSet, secondaryConfig); jsTestLog("Allow initial sync to finish cloning collections"); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangAfterDataCloning', mode: 'alwaysOn'})); +let failPoint = configureFailPoint(secondary, 'initialSyncHangAfterDataCloning'); assert.commandWorked(secondary.getDB('admin').runCommand( {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'off'})); -checkLog.contains(secondary, "initialSyncHangAfterDataCloning fail point enabled"); +failPoint.wait(); jsTestLog('Use both "update" and "applyOps" to upsert doc on primary'); @@ -94,8 +93,7 @@ for (let allowAtomic of [null, true, false]) { jsTestLog("Allow initial sync to finish fetching and replaying oplog"); -assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangAfterDataCloning', mode: 'off'})); +failPoint.off(); finishAndValidate(replSet, collectionName, numDocuments); diff --git a/jstests/replsets/initial_sync_uuid_not_found.js b/jstests/replsets/initial_sync_uuid_not_found.js index 50cc9f6b11b..f4be43c6dd0 100644 --- a/jstests/replsets/initial_sync_uuid_not_found.js +++ b/jstests/replsets/initial_sync_uuid_not_found.js @@ -7,8 +7,6 @@ (function() { 'use strict'; -load('jstests/libs/check_log.js'); - const basename = 'initial_sync_rename_collection'; jsTestLog('Bring up set'); @@ -44,7 +42,8 @@ function ResyncWithFailpoint(failpointName, failpointData) { const secondaryColl = secondaryDB[primaryColl.getName()]; rst.reInitiate(); - checkLog.contains(secondary, 'initial sync - ' + failpointName + ' fail point enabled'); + assert.commandWorked( + secondary.adminCommand({waitForFailPoint: failpointName, timesEntered: 1})); jsTestLog('Remove collection on the primary and insert a new document, recreating it.'); assert(primaryColl.drop()); diff --git a/jstests/replsets/libs/initial_sync_test.js b/jstests/replsets/libs/initial_sync_test.js index 5a5b6a7bc56..6776cf7e629 100644 --- a/jstests/replsets/libs/initial_sync_test.js +++ b/jstests/replsets/libs/initial_sync_test.js @@ -15,6 +15,7 @@ "use strict"; load("jstests/libs/check_log.js"); +load("jstests/libs/fail_point_util.js"); load('jstests/replsets/rslib.js'); /** @@ -183,11 +184,11 @@ function InitialSyncTest(name = "InitialSyncTest", replSet, timeout) { * failpoint again. */ function pauseBeforeSyncSourceCommand() { - assert.commandWorked(secondary.adminCommand( - {"configureFailPoint": 'initialSyncFuzzerSynchronizationPoint2', "mode": 'alwaysOn'})); + const secondSyncFailPoint = + configureFailPoint(secondary, 'initialSyncFuzzerSynchronizationPoint2'); assert.commandWorked(secondary.adminCommand( {"configureFailPoint": 'initialSyncFuzzerSynchronizationPoint1', "mode": 'off'})); - checkLog.contains(secondary, "initialSyncFuzzerSynchronizationPoint2 fail point enabled"); + secondSyncFailPoint.wait(); } /** diff --git a/jstests/replsets/libs/initial_sync_update_missing_doc.js b/jstests/replsets/libs/initial_sync_update_missing_doc.js index 666d463ad23..f45d9a4e107 100644 --- a/jstests/replsets/libs/initial_sync_update_missing_doc.js +++ b/jstests/replsets/libs/initial_sync_update_missing_doc.js @@ -1,4 +1,7 @@ "use strict"; + +load("jstests/libs/fail_point_util.js"); + /** * Initial sync runs in several phases - the first 3 are as follows: * 1) fetches the last oplog entry (op_start1) on the source; @@ -18,8 +21,7 @@ var reInitiateSetWithSecondary = function(replSet, secondaryConfig) { // Make the secondary hang after retrieving the last op on the sync source but before // copying databases. - assert.commandWorked(secondary.getDB('admin').runCommand( - {configureFailPoint: 'initialSyncHangBeforeCopyingDatabases', mode: 'alwaysOn'})); + let failPoint = configureFailPoint(secondary, 'initialSyncHangBeforeCopyingDatabases'); // Skip clearing initial sync progress after a successful initial sync attempt so that we // can check initialSyncStatus fields after initial sync is complete. @@ -29,8 +31,7 @@ var reInitiateSetWithSecondary = function(replSet, secondaryConfig) { replSet.reInitiate(); // Wait for fail point message to be logged. - checkLog.contains(secondary, - 'initial sync - initialSyncHangBeforeCopyingDatabases fail point enabled'); + failPoint.wait(); return secondary; }; |