diff options
Diffstat (limited to 'src/mongo/db/repl/replication_coordinator_impl.cpp')
-rw-r--r-- | src/mongo/db/repl/replication_coordinator_impl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mongo/db/repl/replication_coordinator_impl.cpp b/src/mongo/db/repl/replication_coordinator_impl.cpp index 88d3e717419..d16dfcaa613 100644 --- a/src/mongo/db/repl/replication_coordinator_impl.cpp +++ b/src/mongo/db/repl/replication_coordinator_impl.cpp @@ -1046,6 +1046,11 @@ void ReplicationCoordinatorImpl::setMyLastAppliedOpTimeForward(const OpTime& opT if (opTime > _getMyLastAppliedOpTime_inlock()) { _setMyLastAppliedOpTime_inlock(opTime, false, consistency); _reportUpstream_inlock(std::move(lock)); + } else if (consistency == DataConsistency::Consistent && _canAcceptNonLocalWrites && + _rsConfig.getWriteMajority() == 1) { + // Single vote primaries may have a lagged stable timestamp due to paring back the stable + // timestamp to the all committed timestamp. + _setStableTimestampForStorage_inlock(); } } |