summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGregory Wlodarek <gregory.wlodarek@mongodb.com>2023-05-04 15:32:24 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-05-18 02:03:51 +0000
commit3b4e340cd03eca77a1e3e18b4ca7d9a275178a82 (patch)
tree375202f0f224752591488625cbe881bfc443d03c
parent29a3d06b5a6dccb96ceb700a1f1c0b8631f5ca35 (diff)
downloadmongo-3b4e340cd03eca77a1e3e18b4ca7d9a275178a82.tar.gz
SERVER-76654 Extend CollectionLock lifetime in dbHash
(cherry picked from commit 541296caf8b32b731e46d2ccfa4e43f9653c9d54)
-rw-r--r--src/mongo/db/commands/dbhash.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/mongo/db/commands/dbhash.cpp b/src/mongo/db/commands/dbhash.cpp
index 01ac594fe80..4c4ef8ac628 100644
--- a/src/mongo/db/commands/dbhash.cpp
+++ b/src/mongo/db/commands/dbhash.cpp
@@ -325,6 +325,9 @@ public:
boost::optional<NamespaceString> nss = catalog->lookupNSSByUUID(opCtx, uuid);
invariant(nss);
+ // TODO:SERVER-75848 Make this lock-free
+ Lock::CollectionLock clk(opCtx, *nss, MODE_IS);
+
const Collection* coll = nullptr;
if (nss->isGlobalIndex()) {
// TODO SERVER-74209: Reading earlier than the minimum valid snapshot is not
@@ -348,8 +351,6 @@ public:
!minSnapshot || *readTimestamp >= *minSnapshot);
}
} else {
- // TODO:SERVER-75848 Make this lock-free
- Lock::CollectionLock clk(opCtx, *nss, MODE_IS);
coll = catalog->establishConsistentCollection(
opCtx,
{dbName, uuid},