diff options
author | Jonathan Reams <jbreams@mongodb.com> | 2019-03-26 11:16:03 -0400 |
---|---|---|
committer | Jonathan Reams <jbreams@mongodb.com> | 2019-03-26 16:09:40 -0400 |
commit | 43e089c8cea5d0d88b37ec59d3943d10bcbd0c9f (patch) | |
tree | 4d29f1da45a76ce89a8b2fd40200af6a20a386a5 /src | |
parent | 31a26cdd8900471c1bc9a934e8d4c16d06f611a3 (diff) | |
download | mongo-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.cpp | 1 | ||||
-rw-r--r-- | src/mongo/util/invalidating_lru_cache.h | 2 |
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; } |