summaryrefslogtreecommitdiff
path: root/src/mongo/util/invalidating_lru_cache.h
Commit message (Collapse)AuthorAgeFilesLines
* SERVER-49724 Make ReadThroughCache support StringData keysJaume Moragues2020-11-061-7/+46
|
* SERVER-50952 Ensure that cached collection entries with stale-marked shard ↵Tommaso Tocci2020-09-211-4/+11
| | | | will be eventually refreshed
* SERVER-46202 Implement ShardRegistry on top of ReadThroughCacheKevin Pulo2020-09-161-18/+38
|
* Revert "SERVER-46202 Implement ShardRegistry on top of ReadThroughCache"Tommaso Tocci2020-09-151-38/+18
| | | | This reverts commit a8913858697363a26b06996f0821045b550bea27.
* SERVER-46202 Implement ShardRegistry on top of ReadThroughCacheTommaso Tocci2020-09-151-18/+38
|
* SERVER-46199 Make the collection CatalogCache support causal consistencyMarcos José Grillo Ramírez2020-09-091-21/+32
| | | | | | | | | | | This change implements the collection CatalogCache on top of the ReadThroughCache, giving it the ability to support causal consistency. As part of this change, the 'forceRefreshFromThisThread' flag has been removed from the shard's refresh methods. Co-authored-by: Tommaso Tocci <tommaso.tocci@mongodb.com> Co-authored-by: Pierlauro Sciarelli <pierlauro.sciarelli@mongodb.com> Co-authored-by: Kaloian Manassiev <kaloian.manassiev@mongodb.com>
* SERVER-49189 add missed minor tweaksKevin Pulo2020-07-271-1/+1
|
* SERVER-49189 pass current cachedValue (and time, if causally consistent) to ↵Kevin Pulo2020-07-231-6/+9
| | | | ReadThroughCache::LookupFn
* SERVER-46154 Make ReadThroughCache support causal consistencyKaloian Manassiev2020-05-211-28/+182
|
* SERVER-46154 Pull the InProgressLookup outside of ReadThroughCacheKaloian Manassiev2020-05-171-3/+0
| | | | | | The InProgressLookup tracking already has quite complicated logic, so it seems prudent to pull it into a separate class, outside of the ReadThroughCache so it can be tested independently.
* SERVER-47916 Make InvalidatingLRUCache use an 'epoch' when invalidating ↵Kaloian Manassiev2020-05-071-12/+55
| | | | evicted checked-out values
* SERVER-47654 Strengthen the guarantees of ReadThroughCache with cacheSize = 0Kaloian Manassiev2020-04-211-2/+11
|
* SERVER-43721 Make the AuthorizationManager use DistCacheKaloian Manassiev2020-01-161-258/+263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The DistCache (to be later renamed to ReadThroughCache) was derived from the same implementation under AuthorizationManager and this change removes the code duplication. In addition, it makes the following changes to InvalidatingLRUCache and the DistCache: * Simplifies and optimises the InvalidatingLRUCache: The way it is implemented now, it performs up to 3 operations per lookup, unvalidates entries unnecessarily and has overly complicated logic, which is source of a crash. Instead of fixing the bug, this change rewrites it in a simpler way, which introduces a ValueHandle instead of bare shared_ptr for the return value, and only performs additional work if entries fall off the underlying LRUCache. * Moves the DistCache under src/util and adds unit tests: This change pulls the DistCache (which is the main consumer of InvalidatingLRUCache) into its own library and moves it to be under src/util like the other caches and adds unit tests. delete mode 100644 jstests/auth/pinned_users.js create mode 100644 jstests/auth/pinned_users_clear_pinned_user_list.js create mode 100644 jstests/auth/pinned_users_exclusive_lock_on_admin.js create mode 100644 jstests/auth/pinned_users_remove_user_document_unpins_user.js create mode 100644 src/mongo/util/dist_cache.cpp rename src/mongo/{db => util}/dist_cache.h (56%) create mode 100644 src/mongo/util/dist_cache_test.cpp
* SERVER-42967 SERVER-42895 SERVER-44086 Expand DiagnosticInfo hooks in ↵Ben Caimano2019-10-211-1/+1
| | | | | | | | | | | Interruptible and Mutex This commit: - Adds Listener hooks for Interruptible - Expands Listener hooks for Mutex - Updates the DiagnosticInfo and its tests to use the new hooks - Removes stacktracing pieces from DiagnosticInfo and its tests - Removes mongo::ConditionVariable entirely in favor of Interruptible
* SERVER-42165 Replace uses of stdx::mutex with mongo::MutexBen Caimano2019-09-171-7/+7
|
* SERVER-40296 Allow returning invalid users from authorization managerJonathan Reams2019-03-261-0/+2
|
* SERVER-39560 - remove leading blank line on all C++ filesBilly Donahue2019-02-131-1/+0
| | | | | | Remove leading comments that are just stating the filename. Move any file-level comments below the copyright banner. Remove leading blank lines.
* SERVER-38249 Implement stdx unordered_map and unordered_set as absl node ↵Henrik Edin2018-12-201-2/+3
| | | | | | | | | | hash map/set. Remove stdx::unordered_multimap and multiset. Custom hashers to stdx::unordered_map are not trusted by default, we will rehash the produced hash with absl again to ensure we have a good hash function.
* SERVER-37651 Update header files with new licenseRamon Fernandez2018-10-221-21/+23
|
* SERVER-37139 Make sure to destroy shared_ptrs without holding lockJonathan Reams2018-09-241-9/+45
|
* SERVER-36477 Only invalidate valid ptrs in InvalidatingLRUCacheJonathan Reams2018-08-151-14/+54
|
* SERVER-35890 Fix fassert codesJonathan Reams2018-08-011-2/+2
|
* SERVER-35890 refactor User cache into InvalidatingLRUCache and UserHandleJonathan Reams2018-08-011-0/+285
|
* Revert "SERVER-35890 refactor User cache into InvalidatingLRUCache and ↵Ben Caimano2018-07-311-283/+0
| | | | | | UserHandle" This reverts commit 78dec3622268ad27bb855eda4c6a4ed345412fd9.
* SERVER-35890 refactor User cache into InvalidatingLRUCache and UserHandleJonathan Reams2018-07-311-0/+283