diff options
author | Xiangyu Yao <xiangyu.yao@mongodb.com> | 2019-05-02 17:45:35 -0400 |
---|---|---|
committer | Xiangyu Yao <xiangyu.yao@mongodb.com> | 2019-05-06 10:38:32 -0400 |
commit | 3de146355bbc9612be7ff76937469f2bb5144712 (patch) | |
tree | 938d078a672f52af5228014e39cf28fa61ad51b0 /src | |
parent | 1b8d3d355363b3b2a5b8565df60f07a08393ced6 (diff) | |
download | mongo-3de146355bbc9612be7ff76937469f2bb5144712.tar.gz |
SERVER-40971 Fix the check of _resolvedNss in AutoGetCollection
Diffstat (limited to 'src')
-rw-r--r-- | src/mongo/db/catalog_raii.cpp | 8 |
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) { |