summaryrefslogtreecommitdiff
path: root/src/mongo/db/catalog_raii.cpp
diff options
context:
space:
mode:
authorXiangyu Yao <xiangyu.yao@mongodb.com>2019-05-02 17:45:35 -0400
committerXiangyu Yao <xiangyu.yao@mongodb.com>2019-05-06 10:38:32 -0400
commit3de146355bbc9612be7ff76937469f2bb5144712 (patch)
tree938d078a672f52af5228014e39cf28fa61ad51b0 /src/mongo/db/catalog_raii.cpp
parent1b8d3d355363b3b2a5b8565df60f07a08393ced6 (diff)
downloadmongo-3de146355bbc9612be7ff76937469f2bb5144712.tar.gz
SERVER-40971 Fix the check of _resolvedNss in AutoGetCollection
Diffstat (limited to 'src/mongo/db/catalog_raii.cpp')
-rw-r--r--src/mongo/db/catalog_raii.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mongo/db/catalog_raii.cpp b/src/mongo/db/catalog_raii.cpp
index aee75fed1f8..f4b010e647b 100644
--- a/src/mongo/db/catalog_raii.cpp
+++ b/src/mongo/db/catalog_raii.cpp
@@ -76,15 +76,15 @@ AutoGetCollection::AutoGetCollection(OperationContext* opCtx,
deadline),
_resolvedNss(resolveNamespaceStringOrUUID(opCtx, nsOrUUID)) {
- NamespaceString resolvedNssWithLock;
+ NamespaceString prevResolvedNss;
do {
_collLock.emplace(opCtx, _resolvedNss, modeColl, deadline);
// We looked up nsOrUUID without a collection lock so it's possible that the
// collection is dropped now. Look it up again.
- resolvedNssWithLock = resolveNamespaceStringOrUUID(opCtx, nsOrUUID);
- } while (_resolvedNss != resolvedNssWithLock);
- _resolvedNss = resolvedNssWithLock;
+ prevResolvedNss = _resolvedNss;
+ _resolvedNss = resolveNamespaceStringOrUUID(opCtx, nsOrUUID);
+ } while (_resolvedNss != prevResolvedNss);
// Wait for a configured amount of time after acquiring locks if the failpoint is enabled
MONGO_FAIL_POINT_BLOCK(setAutoGetCollectionWait, customWait) {