Add RocksDB block cache configuration options for index and filter blocks (#2394)
This commit adds configuration options to control how RocksDB handles
index and filter blocks in the block cache:
- kv.rocksdb.block.cache-index-and-filter-blocks: Store index/filter
blocks in block cache to limit memory usage (default: false)
- kv.rocksdb.block.cache-index-and-filter-blocks-with-high-priority:
Give index/filter blocks high priority in cache (default: false)
- kv.rocksdb.block.pin-l0-filter-and-index-blocks-in-cache: Pin L0
index/filter blocks to avoid eviction (default: false)
- kv.rocksdb.block.pin-top-level-index-and-filter: Pin top-level
partitioned index/filter blocks (default: false)
These options help users control RocksDB memory usage by allowing
index and filter blocks to be managed within the block cache,
preventing unbounded memory growth.