summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJonathan Reams <jbreams@mongodb.com>2019-03-26 11:16:03 -0400
committerJonathan Reams <jbreams@mongodb.com>2019-03-26 16:09:40 -0400
commit43e089c8cea5d0d88b37ec59d3943d10bcbd0c9f (patch)
tree4d29f1da45a76ce89a8b2fd40200af6a20a386a5 /src
parent31a26cdd8900471c1bc9a934e8d4c16d06f611a3 (diff)
downloadmongo-43e089c8cea5d0d88b37ec59d3943d10bcbd0c9f.tar.gz
SERVER-40296 Allow returning invalid users from authorization manager
Diffstat (limited to 'src')
-rw-r--r--src/mongo/db/auth/authorization_manager_impl.cpp1
-rw-r--r--src/mongo/util/invalidating_lru_cache.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/mongo/db/auth/authorization_manager_impl.cpp b/src/mongo/db/auth/authorization_manager_impl.cpp
index d5a27073171..9eb185421ef 100644
--- a/src/mongo/db/auth/authorization_manager_impl.cpp
+++ b/src/mongo/db/auth/authorization_manager_impl.cpp
@@ -534,7 +534,6 @@ StatusWith<UserHandle> AuthorizationManagerImpl::acquireUser(OperationContext* o
auto returnUser = [&](boost::optional<UserHandle> cachedUser) {
auto ret = *cachedUser;
fassert(16914, ret.get());
- fassert(17003, ret->isValid());
LOG(1) << "Returning user " << userName << " from cache";
return ret;
diff --git a/src/mongo/util/invalidating_lru_cache.h b/src/mongo/util/invalidating_lru_cache.h
index aeb2b93a555..7f899151b48 100644
--- a/src/mongo/util/invalidating_lru_cache.h
+++ b/src/mongo/util/invalidating_lru_cache.h
@@ -160,6 +160,7 @@ public:
// should only be missing a perf optimization rather than causing a correctness
// problem.
auto ret = activeIt->second.lock();
+ fassert(51148, !ret || ret->isValid());
return ret ? boost::optional<std::shared_ptr<Value>>(ret) : boost::none;
}
@@ -174,6 +175,7 @@ public:
std::tie(std::ignore, inserted) = _active.emplace(key, ret);
fassert(50903, inserted);
+ fassert(51147, ret->isValid());
return ret;
}