summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/initial_syncer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/initial_syncer.cpp')
-rw-r--r--src/mongo/db/repl/initial_syncer.cpp42
1 files changed, 22 insertions, 20 deletions
diff --git a/src/mongo/db/repl/initial_syncer.cpp b/src/mongo/db/repl/initial_syncer.cpp
index 418899be19c..444435d4085 100644
--- a/src/mongo/db/repl/initial_syncer.cpp
+++ b/src/mongo/db/repl/initial_syncer.cpp
@@ -542,7 +542,7 @@ void InitialSyncer::_chooseSyncSourceCallback(
return;
}
- if (MONGO_FAIL_POINT(failInitialSyncWithBadHost)) {
+ if (MONGO_unlikely(failInitialSyncWithBadHost.shouldFail())) {
status = Status(ErrorCodes::InvalidSyncSource,
"initial sync failed - failInitialSyncWithBadHost failpoint is set.");
onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock, status);
@@ -580,12 +580,13 @@ void InitialSyncer::_chooseSyncSourceCallback(
return;
}
- if (MONGO_FAIL_POINT(initialSyncHangBeforeCreatingOplog)) {
+ if (MONGO_unlikely(initialSyncHangBeforeCreatingOplog.shouldFail())) {
// This log output is used in js tests so please leave it.
log() << "initial sync - initialSyncHangBeforeCreatingOplog fail point "
"enabled. Blocking until fail point is disabled.";
lock.unlock();
- while (MONGO_FAIL_POINT(initialSyncHangBeforeCreatingOplog) && !_isShuttingDown()) {
+ while (MONGO_unlikely(initialSyncHangBeforeCreatingOplog.shouldFail()) &&
+ !_isShuttingDown()) {
mongo::sleepsecs(1);
}
lock.lock();
@@ -953,14 +954,15 @@ void InitialSyncer::_fcvFetcherCallback(const StatusWith<Fetcher::QueryResponse>
return;
}
- if (MONGO_FAIL_POINT(initialSyncHangBeforeCopyingDatabases)) {
+ if (MONGO_unlikely(initialSyncHangBeforeCopyingDatabases.shouldFail())) {
lock.unlock();
// This could have been done with a scheduleWorkAt but this is used only by JS tests where
// we run with multiple threads so it's fine to spin on this thread.
// This log output is used in js tests so please leave it.
log() << "initial sync - initialSyncHangBeforeCopyingDatabases fail point "
"enabled. Blocking until fail point is disabled.";
- while (MONGO_FAIL_POINT(initialSyncHangBeforeCopyingDatabases) && !_isShuttingDown()) {
+ while (MONGO_unlikely(initialSyncHangBeforeCopyingDatabases.shouldFail()) &&
+ !_isShuttingDown()) {
mongo::sleepsecs(1);
}
lock.lock();
@@ -1026,13 +1028,13 @@ void InitialSyncer::_databasesClonerCallback(const Status& databaseClonerFinishS
log() << "Finished cloning data: " << redact(databaseClonerFinishStatus)
<< ". Beginning oplog replay.";
- if (MONGO_FAIL_POINT(initialSyncHangAfterDataCloning)) {
+ if (MONGO_unlikely(initialSyncHangAfterDataCloning.shouldFail())) {
// This could have been done with a scheduleWorkAt but this is used only by JS tests where
// we run with multiple threads so it's fine to spin on this thread.
// This log output is used in js tests so please leave it.
log() << "initial sync - initialSyncHangAfterDataCloning fail point "
"enabled. Blocking until fail point is disabled.";
- while (MONGO_FAIL_POINT(initialSyncHangAfterDataCloning) && !_isShuttingDown()) {
+ while (MONGO_unlikely(initialSyncHangAfterDataCloning.shouldFail()) && !_isShuttingDown()) {
mongo::sleepsecs(1);
}
}
@@ -1147,22 +1149,22 @@ void InitialSyncer::_getNextApplierBatchCallback(
// Set and unset by the InitialSyncTest fixture to cause initial sync to pause so that the
// Initial Sync Fuzzer can run commands on the sync source.
- if (MONGO_FAIL_POINT(initialSyncFuzzerSynchronizationPoint1)) {
+ if (MONGO_unlikely(initialSyncFuzzerSynchronizationPoint1.shouldFail())) {
log() << "Initial Syncer is about to apply the next oplog batch of size: "
<< batchResult.getValue().size();
log() << "initialSyncFuzzerSynchronizationPoint1 fail point enabled.";
- MONGO_FAIL_POINT_PAUSE_WHILE_SET(initialSyncFuzzerSynchronizationPoint1);
+ initialSyncFuzzerSynchronizationPoint1.pauseWhileSet();
}
- if (MONGO_FAIL_POINT(initialSyncFuzzerSynchronizationPoint2)) {
+ if (MONGO_unlikely(initialSyncFuzzerSynchronizationPoint2.shouldFail())) {
log() << "initialSyncFuzzerSynchronizationPoint2 fail point enabled.";
- MONGO_FAIL_POINT_PAUSE_WHILE_SET(initialSyncFuzzerSynchronizationPoint2);
+ initialSyncFuzzerSynchronizationPoint2.pauseWhileSet();
}
- if (MONGO_FAIL_POINT(failInitialSyncBeforeApplyingBatch)) {
+ if (MONGO_unlikely(failInitialSyncBeforeApplyingBatch.shouldFail())) {
log() << "initial sync - failInitialSyncBeforeApplyingBatch fail point enabled. Pausing"
<< "until fail point is disabled, then will fail initial sync.";
- MONGO_FAIL_POINT_PAUSE_WHILE_SET(failInitialSyncBeforeApplyingBatch);
+ failInitialSyncBeforeApplyingBatch.pauseWhileSet();
status = Status(ErrorCodes::CallbackCanceled,
"failInitialSyncBeforeApplyingBatch fail point enabled");
onCompletionGuard->setResultAndCancelRemainingWork_inlock(lock, status);
@@ -1236,7 +1238,7 @@ void InitialSyncer::_multiApplierCallback(const Status& multiApplierStatus,
// Set to cause initial sync to fassert instead of restart if applying a batch fails, so that
// tests can be robust to network errors but not oplog idempotency errors.
- if (MONGO_FAIL_POINT(initialSyncFassertIfApplyingBatchFails)) {
+ if (MONGO_unlikely(initialSyncFassertIfApplyingBatchFails.shouldFail())) {
log() << "initialSyncFassertIfApplyingBatchFails fail point enabled.";
fassert(31210, status);
}
@@ -1325,9 +1327,9 @@ void InitialSyncer::_finishInitialSyncAttempt(const StatusWith<OpTimeAndWallTime
_stats.initialSyncAttemptInfos.emplace_back(
InitialSyncer::InitialSyncAttemptInfo{runTime, result.getStatus(), _syncSource});
- if (MONGO_FAIL_POINT(failAndHangInitialSync)) {
+ if (MONGO_unlikely(failAndHangInitialSync.shouldFail())) {
log() << "failAndHangInitialSync fail point enabled.";
- MONGO_FAIL_POINT_PAUSE_WHILE_SET(failAndHangInitialSync);
+ failAndHangInitialSync.pauseWhileSet();
result = Status(ErrorCodes::InternalError, "failAndHangInitialSync fail point enabled");
}
@@ -1399,11 +1401,11 @@ void InitialSyncer::_finishCallback(StatusWith<OpTimeAndWallTime> lastApplied) {
std::swap(_onCompletion, onCompletion);
}
- if (MONGO_FAIL_POINT(initialSyncHangBeforeFinish)) {
+ if (MONGO_unlikely(initialSyncHangBeforeFinish.shouldFail())) {
// This log output is used in js tests so please leave it.
log() << "initial sync - initialSyncHangBeforeFinish fail point "
"enabled. Blocking until fail point is disabled.";
- while (MONGO_FAIL_POINT(initialSyncHangBeforeFinish) && !_isShuttingDown()) {
+ while (MONGO_unlikely(initialSyncHangBeforeFinish.shouldFail()) && !_isShuttingDown()) {
mongo::sleepsecs(1);
}
}
@@ -1428,7 +1430,7 @@ void InitialSyncer::_finishCallback(StatusWith<OpTimeAndWallTime> lastApplied) {
// Clear the initial sync progress after an initial sync attempt has been successfully
// completed.
- if (lastApplied.isOK() && !MONGO_FAIL_POINT(skipClearInitialSyncState)) {
+ if (lastApplied.isOK() && !MONGO_unlikely(skipClearInitialSyncState.shouldFail())) {
_initialSyncState.reset();
}
}
@@ -1628,7 +1630,7 @@ StatusWith<Operations> InitialSyncer::_getNextApplierBatch_inlock() {
// If the fail-point is active, delay the apply batch by returning an empty batch so that
// _getNextApplierBatchCallback() will reschedule itself at a later time.
// See InitialSyncerOptions::getApplierBatchCallbackRetryWait.
- if (MONGO_FAIL_POINT(rsSyncApplyStop)) {
+ if (MONGO_unlikely(rsSyncApplyStop.shouldFail())) {
return Operations();
}