summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/replication_process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/repl/replication_process.cpp')
-rw-r--r--src/mongo/db/repl/replication_process.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mongo/db/repl/replication_process.cpp b/src/mongo/db/repl/replication_process.cpp
index 89e1a3e9b99..3e4b9cd7669 100644
--- a/src/mongo/db/repl/replication_process.cpp
+++ b/src/mongo/db/repl/replication_process.cpp
@@ -83,6 +83,24 @@ ReplicationProcess::ReplicationProcess(
_recovery(std::move(recovery)),
_rbid(kUninitializedRollbackId) {}
+Status ReplicationProcess::refreshRollbackID(OperationContext* opCtx) {
+ stdx::lock_guard<stdx::mutex> lock(_mutex);
+
+ auto rbidResult = _storageInterface->getRollbackID(opCtx);
+ if (!rbidResult.isOK()) {
+ return rbidResult.getStatus();
+ }
+
+ if (kUninitializedRollbackId == _rbid) {
+ log() << "Rollback ID is " << rbidResult.getValue();
+ } else {
+ log() << "Rollback ID is " << rbidResult.getValue() << " (previously " << _rbid << ")";
+ }
+ _rbid = rbidResult.getValue();
+
+ return Status::OK();
+}
+
StatusWith<int> ReplicationProcess::getRollbackID(OperationContext* opCtx) {
stdx::lock_guard<stdx::mutex> lock(_mutex);