summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAudrey Fang <audrey.fang@10gen.com>2018-06-04 10:56:22 -0400
committerAudrey Fang <audrey.fang@10gen.com>2018-06-08 10:40:55 -0400
commit9983c17b0da32d0b0918c47e081840d3a9ac3a85 (patch)
tree0b07b0778958d691a9afb7de4230c4169d9ae02c
parent4c2dadad436f9cd7925742c18fa107682557cfab (diff)
downloadmongo-9983c17b0da32d0b0918c47e081840d3a9ac3a85.tar.gz
SERVER-34130 Log oplog truncation operation
(cherry picked from commit 62378f4e12644c250ccb894cf6b92d27b77b16fd)
-rw-r--r--src/mongo/db/repl/initial_syncer.cpp3
-rw-r--r--src/mongo/db/repl/replication_recovery.cpp4
-rw-r--r--src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp3
3 files changed, 10 insertions, 0 deletions
diff --git a/src/mongo/db/repl/initial_syncer.cpp b/src/mongo/db/repl/initial_syncer.cpp
index 33e5e729a13..f49670a0927 100644
--- a/src/mongo/db/repl/initial_syncer.cpp
+++ b/src/mongo/db/repl/initial_syncer.cpp
@@ -67,6 +67,7 @@
#include "mongo/util/mongoutils/str.h"
#include "mongo/util/scopeguard.h"
#include "mongo/util/time_support.h"
+#include "mongo/util/timer.h"
namespace mongo {
namespace repl {
@@ -584,7 +585,9 @@ Status InitialSyncer::_truncateOplogAndDropReplicatedDatabases() {
// 1.) Truncate the oplog.
LOG(2) << "Truncating the existing oplog: " << _opts.localOplogNS;
+ Timer timer;
auto status = _storage->truncateCollection(opCtx.get(), _opts.localOplogNS);
+ log() << "Initial syncer oplog truncation finished in: " << timer.millis() << "ms";
if (!status.isOK()) {
// 1a.) Create the oplog.
LOG(2) << "Creating the oplog: " << _opts.localOplogNS;
diff --git a/src/mongo/db/repl/replication_recovery.cpp b/src/mongo/db/repl/replication_recovery.cpp
index d8238f0beea..5a446ff3300 100644
--- a/src/mongo/db/repl/replication_recovery.cpp
+++ b/src/mongo/db/repl/replication_recovery.cpp
@@ -44,6 +44,7 @@
#include "mongo/db/server_recovery.h"
#include "mongo/db/session.h"
#include "mongo/util/log.h"
+#include "mongo/util/timer.h"
namespace mongo {
namespace repl {
@@ -419,6 +420,7 @@ StatusWith<OpTime> ReplicationRecoveryImpl::_getTopOfOplog(OperationContext* opC
void ReplicationRecoveryImpl::_truncateOplogTo(OperationContext* opCtx,
Timestamp truncateTimestamp) {
+ Timer timer;
const NamespaceString oplogNss(NamespaceString::kRsOplogNamespace);
AutoGetDb autoDb(opCtx, oplogNss.db(), MODE_IX);
Lock::CollectionLock oplogCollectionLoc(opCtx->lockState(), oplogNss.ns(), MODE_X);
@@ -455,6 +457,8 @@ void ReplicationRecoveryImpl::_truncateOplogTo(OperationContext* opCtx,
invariant(!oldestIDToDelete.isNull());
oplogCollection->cappedTruncateAfter(opCtx, oldestIDToDelete, /*inclusive=*/true);
}
+ log() << "Replication recovery oplog truncation finished in: " << timer.millis()
+ << "ms";
return;
}
diff --git a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
index 8453d0c140e..7dda390cd70 100644
--- a/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
+++ b/src/mongo/db/storage/wiredtiger/wiredtiger_record_store.cpp
@@ -67,6 +67,7 @@
#include "mongo/util/mongoutils/str.h"
#include "mongo/util/scopeguard.h"
#include "mongo/util/time_support.h"
+#include "mongo/util/timer.h"
namespace mongo {
@@ -1102,6 +1103,7 @@ void WiredTigerRecordStore::reclaimOplog(OperationContext* opCtx) {
}
void WiredTigerRecordStore::reclaimOplog(OperationContext* opCtx, Timestamp persistedTimestamp) {
+ Timer timer;
while (auto stone = _oplogStones->peekOldestStoneIfNeeded()) {
invariant(stone->lastRecord.isNormal());
@@ -1151,6 +1153,7 @@ void WiredTigerRecordStore::reclaimOplog(OperationContext* opCtx, Timestamp pers
LOG(1) << "Finished truncating the oplog, it now contains approximately " << _numRecords.load()
<< " records totaling to " << _dataSize.load() << " bytes";
+ log() << "WiredTiger record store oplog truncation finished in: " << timer.millis() << "ms";
}
Status WiredTigerRecordStore::insertRecords(OperationContext* opCtx,