]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commit
BlueStore: Add block_cache logic to column family definition
authorAdam Kupczyk <akupczyk@redhat.com>
Thu, 24 Sep 2020 10:54:46 +0000 (12:54 +0200)
committerAdam Kupczyk <akupczyk@redhat.com>
Fri, 15 Jan 2021 16:59:34 +0000 (11:59 -0500)
commitfe834c21002ba7d0661d57f67c3a3a6eed08f2b1
tree4eea43bb9a314234c7851b4efcf5032be51689c1
parent303d42533d3ffe6d4cf29bce3dded8f1e7ceb9a8
BlueStore: Add block_cache logic to column family definition

Modified original onode column family cache into generic feature.
Now 2 options are possible for each column family:
1) use generic block cache but apply different BlockBasedTableOptions
2) create separate block cache. it will be applied for all shards of column family

It is done by specifying special option "block_cache" to CF definition:
Example: O(3,0-13)=block_cache={high_ratio=1.000}

"block_cache" accepts all BlockBasedTableOptions options with additions:
-"type" - binned_lru/lru/clock (default: ceph_options.rocksdb_cache_type)
-"size" - e.g.: 100M           (default: ceph_options.rocksdb_cache_size)
-"high_ratio" - e.g.: 0.75     (default: 0.0)
If any of above is set, new block cache is created, otherwise default is used.

Signed-off-by: Adam Kupczyk <akupczyk@redhat.com>
src/common/options.cc
src/kv/RocksDBStore.cc
src/kv/RocksDBStore.h