Hello Tidy Bot, Alexey Serbin, Kudu Jenkins,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/20607
to look at the new patch set (#6).
Change subject: KUDU-613: Scan Resistant Caching
......................................................................
KUDU-613: Scan Resistant Caching
This patch introduces the SLRU cache that has two internal caches,
the probationary and protected, to protect the cache from long/random
reads. The SLRU cache has a parameter named 'lookups_threshold_' that
determines the minimum amount of times an entry can be accessed
before it's upgraded to the protected cache. Any random scans would
then only evict entries from the probationary cache.
Both the protected and probationary caches have their own
configurable capacities. When the protected cache is at capacity,
any entries evicted will be added to the MRU end of the
probationary cache.
TODO:
- Add performance tests
- Improve concurrency (shard level locking)
- Use SLRU cache in BlockCache
Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
---
M src/kudu/util/CMakeLists.txt
M src/kudu/util/block_cache_metrics.cc
M src/kudu/util/block_cache_metrics.h
M src/kudu/util/cache.cc
M src/kudu/util/cache.h
M src/kudu/util/nvm_cache.cc
M src/kudu/util/nvm_cache.h
A src/kudu/util/slru_cache-test.cc
A src/kudu/util/slru_cache.cc
A src/kudu/util/slru_cache.h
10 files changed, 1,219 insertions(+), 157 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/07/20607/6
--
To view, visit http://gerrit.cloudera.org:8080/20607
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I45531534a2049dd38c002f4dc7982df9fd46e0bb
Gerrit-Change-Number: 20607
Gerrit-PatchSet: 6
Gerrit-Owner: Mahesh Reddy <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Mahesh Reddy <[email protected]>
Gerrit-Reviewer: Tidy Bot (241)