diff options
Diffstat (limited to 'src/mongo/db/repl/replication_process.cpp')
-rw-r--r-- | src/mongo/db/repl/replication_process.cpp | 18 |
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); |