summaryrefslogtreecommitdiff
path: root/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
diff options
context:
space:
mode:
authorJack Mulrow <jack.mulrow@mongodb.com>2018-09-18 14:55:46 -0400
committerJack Mulrow <jack.mulrow@mongodb.com>2019-01-17 18:09:10 -0500
commitbfb0aec447f39633694dcc4418f2a5a5a167937e (patch)
tree6f6a7713f759b4b7d20d0d6a9933f1e11bc818c7 /src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
parent5918fda8a354db2e3ecc95ac0c384b412bfe0684 (diff)
downloadmongo-bfb0aec447f39633694dcc4418f2a5a5a167937e.tar.gz
SERVER-35663 Always update the logical clock before advancing the last applied opTime
Diffstat (limited to 'src/mongo/db/repl/replication_coordinator_external_state_impl.cpp')
-rw-r--r--src/mongo/db/repl/replication_coordinator_external_state_impl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
index ec3a987a8a1..4bc3b8c8409 100644
--- a/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
+++ b/src/mongo/db/repl/replication_coordinator_external_state_impl.cpp
@@ -53,6 +53,7 @@
#include "mongo/db/free_mon/free_mon_mongod.h"
#include "mongo/db/jsobj.h"
#include "mongo/db/kill_sessions_local.h"
+#include "mongo/db/logical_clock.h"
#include "mongo/db/logical_time_metadata_hook.h"
#include "mongo/db/logical_time_validator.h"
#include "mongo/db/op_observer.h"
@@ -636,6 +637,10 @@ void ReplicationCoordinatorExternalStateImpl::setGlobalTimestamp(ServiceContext*
setNewTimestamp(ctx, newTime);
}
+Timestamp ReplicationCoordinatorExternalStateImpl::getGlobalTimestamp(ServiceContext* service) {
+ return LogicalClock::get(service)->getClusterTime().asTimestamp();
+}
+
bool ReplicationCoordinatorExternalStateImpl::oplogExists(OperationContext* opCtx) {
AutoGetCollection oplog(opCtx, NamespaceString::kRsOplogNamespace, MODE_IS);
return oplog.getCollection() != nullptr;