summaryrefslogtreecommitdiff
path: root/src/mongo/db/storage/storage_engine_impl.cpp
diff options
context:
space:
mode:
authorDianna Hohensee <dianna.hohensee@mongodb.com>2020-11-05 17:20:31 -0500
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-11-12 17:54:28 +0000
commitccd024d9fb5c0587e33a3a3321e7f9a0430d0190 (patch)
treee4035ba5b8f90bc300b7645d8d1ae4cf3df3c401 /src/mongo/db/storage/storage_engine_impl.cpp
parentc1ad4eab08f4679ca5071d76cfa845a9652881fe (diff)
downloadmongo-ccd024d9fb5c0587e33a3a3321e7f9a0430d0190.tar.gz
SERVER-52562 Enable two-phase drop for standalone mode; allow Lock-Free reads for standalone mode.
Diffstat (limited to 'src/mongo/db/storage/storage_engine_impl.cpp')
-rw-r--r--src/mongo/db/storage/storage_engine_impl.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/mongo/db/storage/storage_engine_impl.cpp b/src/mongo/db/storage/storage_engine_impl.cpp
index 5c9f90bc56f..9a1ea732079 100644
--- a/src/mongo/db/storage/storage_engine_impl.cpp
+++ b/src/mongo/db/storage/storage_engine_impl.cpp
@@ -1048,13 +1048,9 @@ void StorageEngineImpl::checkpoint() {
}
void StorageEngineImpl::_onMinOfCheckpointAndOldestTimestampChanged(const Timestamp& timestamp) {
- if (timestamp.isNull()) {
- return;
- }
-
// No drop-pending idents present if getEarliestDropTimestamp() returns boost::none.
if (auto earliestDropTimestamp = _dropPendingIdentReaper.getEarliestDropTimestamp()) {
- if (timestamp > *earliestDropTimestamp) {
+ if (timestamp >= *earliestDropTimestamp) {
LOGV2(22260,
"Removing drop-pending idents with drop timestamps before timestamp",
"timestamp"_attr = timestamp);
@@ -1145,6 +1141,10 @@ void StorageEngineImpl::TimestampMonitor::startup() {
_currentTimestamps.minOfCheckpointAndOldest !=
minOfCheckpointAndOldest) {
listener->notify(minOfCheckpointAndOldest);
+ } else if (stable == Timestamp::min()) {
+ // Special case notification of all listeners when writes do not have
+ // timestamps. This handles standalone mode.
+ listener->notify(Timestamp::min());
}
}
}