rocksdb/utilities/table_properties_collectors
Changyu Bi d55655a423 Add an optional min file size requirement for deletion triggered compaction (#13707)
Summary:
add the `min_file_size` parameter to CompactOnDeletionCollector. A file must be at least this size for it to qualify for DTC. This is useful when a user wants to specific a min file size requirement that is larger than the size constraint imposed by the sliding window's `deletion_trigger` requirement.

Added some comment explaining that the file_size provided to table property collector only includes data blocks and may not be up-to-date. This PR also updates DTC to consider SingleDelete and DeletionWithTimestamp as tombstones.

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

Test Plan:
- new unit test for when min_file_size is specified.
- existing unit test for when min_file_size is not specified.

Reviewed By: hx235, pdillinger

Differential Revision: D76837231

Pulled By: cbi42

fbshipit-source-id: 0782144e75aef9961bf03da2a2c4b3c613ce5db3
2025-06-19 11:04:35 -07:00
..
compact_for_tiering_collector.cc Add public API definitions for surfacing data age (#13138) 2024-12-02 16:32:02 -08:00
compact_for_tiering_collector.h Add public API definitions for surfacing data age (#13138) 2024-12-02 16:32:02 -08:00
compact_for_tiering_collector_test.cc Add CompactForTieringCollector to support automatically trigger compaction for tiering use case (#12760) 2024-06-18 10:51:29 -07:00
compact_on_deletion_collector.cc Add an optional min file size requirement for deletion triggered compaction (#13707) 2025-06-19 11:04:35 -07:00
compact_on_deletion_collector.h Add an optional min file size requirement for deletion triggered compaction (#13707) 2025-06-19 11:04:35 -07:00
compact_on_deletion_collector_test.cc Add an optional min file size requirement for deletion triggered compaction (#13707) 2025-06-19 11:04:35 -07:00