summaryrefslogtreecommitdiff
path: root/src/mongo/db/query/plan_insert_listener.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/query/plan_insert_listener.cpp')
-rw-r--r--src/mongo/db/query/plan_insert_listener.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/db/query/plan_insert_listener.cpp b/src/mongo/db/query/plan_insert_listener.cpp
index 6e31be68b0b..c9458234402 100644
--- a/src/mongo/db/query/plan_insert_listener.cpp
+++ b/src/mongo/db/query/plan_insert_listener.cpp
@@ -92,8 +92,9 @@ std::unique_ptr<Notifier> getCappedInsertNotifier(OperationContext* opCtx,
if (opCtx->recoveryUnit()->getTimestampReadSource() == RecoveryUnit::kMajorityCommitted) {
return std::make_unique<MajorityCommittedPointNotifier>();
} else {
- auto collection =
- CollectionCatalog::get(opCtx)->lookupCollectionByNamespaceForRead(opCtx, nss);
+ // Hold reference to the catalog for collection lookup without locks to be safe.
+ auto catalog = CollectionCatalog::get(opCtx);
+ auto collection = catalog->lookupCollectionByNamespace(opCtx, nss);
invariant(collection);
return std::make_unique<LocalCappedInsertNotifier>(