rocksdb/cache
Gang Liao 275cd80cdb Add a blob-specific cache priority (#10461)
Summary:
RocksDB's `Cache` abstraction currently supports two priority levels for items: high (used for frequently accessed/highly valuable SST metablocks like index/filter blocks) and low (used for SST data blocks). Blobs are typically lower-value targets for caching than data blocks, since 1) with BlobDB, data blocks containing blob references conceptually form an index structure which has to be consulted before we can read the blob value, and 2) cached blobs represent only a single key-value, while cached data blocks generally contain multiple KVs. Since we would like to make it possible to use the same backing cache for the block cache and the blob cache, it would make sense to add a new, lower-than-low cache priority level (bottom level) for blobs so data blocks are prioritized over them.

This task is a part of https://github.com/facebook/rocksdb/issues/10156

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10461

Reviewed By: siying

Differential Revision: D38672823

Pulled By: ltamasi

fbshipit-source-id: 90cf7362036563d79891f47be2cc24b827482743
2022-08-12 17:59:06 -07:00
..
cache.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
cache_bench.cc Add (& fix) some simple source code checks (#8821) 2021-09-07 21:19:27 -07:00
cache_bench_tool.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
cache_entry_roles.cc Charge blob cache usage against the global memory limit (#10321) 2022-07-18 23:26:57 -07:00
cache_entry_roles.h Expose `CacheEntryRole` and map keys for block cache stat collections (#9838) 2022-04-14 09:38:55 -07:00
cache_entry_stats.h New stable, fixed-length cache keys (#9126) 2021-12-16 17:15:13 -08:00
cache_helpers.h Eliminate the copying of blobs when serving reads from the cache (#10297) 2022-07-06 18:57:29 -07:00
cache_key.cc Derive cache keys from SST unique IDs (#10394) 2022-08-12 13:49:49 -07:00
cache_key.h Derive cache keys from SST unique IDs (#10394) 2022-08-12 13:49:49 -07:00
cache_reservation_manager.cc Charge blob cache usage against the global memory limit (#10321) 2022-07-18 23:26:57 -07:00
cache_reservation_manager.h Account memory of FileMetaData in global memory limit (#9924) 2022-06-14 13:06:40 -07:00
cache_reservation_manager_test.cc Derive cache keys from SST unique IDs (#10394) 2022-08-12 13:49:49 -07:00
cache_test.cc Towards a production-quality ClockCache (#10418) 2022-07-26 17:42:03 -07:00
charged_cache.cc Charge blob cache usage against the global memory limit (#10321) 2022-07-18 23:26:57 -07:00
charged_cache.h Charge blob cache usage against the global memory limit (#10321) 2022-07-18 23:26:57 -07:00
clock_cache.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
clock_cache.h Enable ClockCache in DB block cache test (#10482) 2022-08-10 13:57:52 -07:00
compressed_secondary_cache.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
compressed_secondary_cache.h Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
compressed_secondary_cache_test.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
fast_lru_cache.cc Towards a production-quality ClockCache (#10418) 2022-07-26 17:42:03 -07:00
fast_lru_cache.h Clock cache (#10273) 2022-06-29 21:50:39 -07:00
lru_cache.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
lru_cache.h Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
lru_cache_test.cc Add a blob-specific cache priority (#10461) 2022-08-12 17:59:06 -07:00
sharded_cache.cc Update Cache::Release param from force_erase to erase_if_last_ref (#9728) 2022-03-22 10:22:18 -07:00
sharded_cache.h Charge blob cache usage against the global memory limit (#10321) 2022-07-18 23:26:57 -07:00