Add `is_bottommost_level` in compaction filter context
This is a cherry-pick of https://github.com/tikv/rocksdb/commit/8e203492b81af0df1cbda907d5f0e8fbaf13d266
Adding is_bottommost_level info, so that MVCC storage engine built on top of RocksDB can decide whether to GC tombstones during compaction. i.e. If the compaction involves the bottommost level, tombstones can be discarded, otherwise, they need to be kept in order to GC old versions in the lower levels in the future.
We had 2 other compaction filter related changes but are no longer needed now:
- https://github.com/tikv/rocksdb/commit/9554ad2b3fa7de8928054bfb30c2fcd6e714c50e range is no longer need, table properties are populated by a different field called
input_table_propertiesinCompactionFilter::Context - https://github.com/tikv/rocksdb/commit/3a238bf6f367b5ee76de9c497eba823c0e156ead <- no longer needed, see the comment in https://github.com/tikv/tikv/pull/9694
@LykxSassinator: adding LGTM is restricted to approvers and reviewers in OWNERS files.
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.
/merge
/approve
[LGTM Timeline notifier]
Timeline:
2024-09-26 05:34:38.938635237 +0000 UTC m=+1716948.679059176: :ballot_box_with_check: agreed by Connor1996.2024-09-26 05:43:07.008368326 +0000 UTC m=+1717456.748792265: :ballot_box_with_check: agreed by LykxSassinator.
/merge
/approve
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Connor1996, LykxSassinator
The full list of commands accepted by this bot can be found here.
The pull request process is described here
- ~~OWNERS~~ [Connor1996,LykxSassinator]
Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment
/merge