]> git.apps.os.sepia.ceph.com Git - ceph.git/commit
kv/RocksDBStore: Add CompactOnDeletion support
authorMark Nelson <mnelson@redhat.com>
Thu, 21 Jul 2022 21:31:07 +0000 (21:31 +0000)
committerYuri Weinstein <yweinste@redhat.com>
Fri, 5 May 2023 19:16:35 +0000 (19:16 +0000)
commitcfec1e399df83afdc565d7f848d7cad10c3d3255
tree7c9d9eec5b10bca81dfa7ce1293b3f6570a366f3
parent5b35a461e1c1b935b2b3fc7c43d68a58c1a41547
kv/RocksDBStore: Add CompactOnDeletion support

This commit adds support to compact column families when a certain number
of tombstone entries have been observed within a certain sliding window
during iteration.  It only helps when itereating over entries already in
SST files and not when iterating over ranges in memtables.

Likely we will still need to provide a mechanism to flush memtables and
compact column families once a certain number of rmkey or rm_range_key
calls are made.

Signed-off-by: Mark Nelson <mnelson@redhat.com>
(cherry picked from commit fba5488728e89d9b0a1c1ab94b7024fcc81b3b15)

Conflicts:
src/common/options/global.yaml.in

Cherry-pick notes:
- Conflicts due to change in configuration options format after Pacific

(cherry picked from commit 317eb8f69834fa08dbb17b19656db2359dbdcbd0)
src/common/legacy_config_opts.h
src/common/options.cc
src/kv/RocksDBStore.cc