summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiyuan Zhou <siyuan.zhou@mongodb.com>2018-07-12 00:52:31 -0400
committerSiyuan Zhou <visualzhou@gmail.com>2018-08-13 18:11:36 -0400
commit15d2af439e6426c7232a75403739250b1537c54a (patch)
treedc0678e043f5165a627e10d41ac192746bea21e1
parent56856d277eca36dd36e029fee71459318b181e41 (diff)
downloadmongo-15d2af439e6426c7232a75403739250b1537c54a.tar.gz
SERVER-33243 Improve logging when a node changes its sync source
(cherry picked from commit 97f15caddf7835ef5ed252257903edc52dae9aaf)
-rw-r--r--src/mongo/db/repl/bgsync.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mongo/db/repl/bgsync.cpp b/src/mongo/db/repl/bgsync.cpp
index 76bd8cf95f5..9d27dccc134 100644
--- a/src/mongo/db/repl/bgsync.cpp
+++ b/src/mongo/db/repl/bgsync.cpp
@@ -311,6 +311,9 @@ void BackgroundSync::_produce() {
}
const auto requiredOpTime = (minValidSaved > _lastOpTimeFetched) ? minValidSaved : OpTime();
lastOpTimeFetched = _lastOpTimeFetched;
+ if (!_syncSourceHost.empty()) {
+ log() << "Clearing sync source " << _syncSourceHost << " to choose a new one.";
+ }
_syncSourceHost = HostAndPort();
_syncSourceResolver = stdx::make_unique<SyncSourceResolver>(
_replicationCoordinatorExternalState->getTaskExecutor(),
@@ -389,6 +392,10 @@ void BackgroundSync::_produce() {
<< ". Sleeping for 1 second to avoid immediately choosing a new sync source for "
"the same reason as last time.";
sleepsecs(1);
+ } else {
+ log() << "Changed sync source from "
+ << (oldSource.empty() ? std::string("empty") : oldSource.toString()) << " to "
+ << source;
}
} else {
if (!syncSourceResp.isOK()) {
@@ -406,7 +413,7 @@ void BackgroundSync::_produce() {
_tooStale = false;
- log() << "No longer too stale. Able to sync from " << _syncSourceHost;
+ log() << "No longer too stale. Able to sync from " << source;
auto status = _replCoord->setMaintenanceMode(false);
if (!status.isOK()) {
@@ -478,8 +485,8 @@ void BackgroundSync::_produce() {
}
const auto logLevel = Command::testCommandsEnabled ? 0 : 1;
- LOG(logLevel) << "scheduling fetcher to read remote oplog on " << _syncSourceHost
- << " starting at " << oplogFetcher->getFindQuery_forTest()["filter"];
+ LOG(logLevel) << "scheduling fetcher to read remote oplog on " << source << " starting at "
+ << oplogFetcher->getFindQuery_forTest()["filter"];
auto scheduleStatus = oplogFetcher->startup();
if (!scheduleStatus.isOK()) {
warning() << "unable to schedule fetcher to read remote oplog on " << source << ": "
@@ -747,6 +754,7 @@ HostAndPort BackgroundSync::getSyncTarget() const {
void BackgroundSync::clearSyncTarget() {
stdx::unique_lock<stdx::mutex> lock(_mutex);
+ log() << "Resetting sync source to empty, which was " << _syncSourceHost;
_syncSourceHost = HostAndPort();
}