rocksdb/db/compaction
Jay Huh 03cfaf3931 Make CompactionPicker::CompactFiles() take earliest_snapshot and snapshot_checker (#13816)
Summary:
One of the parameters for constructing a Compaction object is `earliest_snapshot`, which is required for Standalone Range Deletion Optimization (introduced in [https://github.com/facebook/rocksdb/pull/13078](https://github.com/facebook/rocksdb/pull/13078)). Remote Compaction has been using the `CompactionPicker::CompactFiles()` API to create the Compaction object, but this API never sets the `earliest_snapshot` parameter. To address this, update `CompactionPicker::CompactFiles()` to optionally accept `earliest_snapshot` and pass it during the call in `DBImplSecondary::CompactWithoutInstallation()`.

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

Test Plan:
```
./compaction_service_test --gtest_filter="*CompactionServiceTest.StandaloneDeleteRangeTombstoneOptimization*"
```

\+ Tested in Meta's internal offload infra.

Reviewed By: hx235

Differential Revision: D79284769

Pulled By: jaykorean

fbshipit-source-id: 164834ef6972d5e0ddfc2970bb9234ef166d6e52
2025-08-05 10:05:02 -07:00
..
clipping_iterator.h Refactor AddRangeDels() + consider range tombstone during compaction file cutting (#11113) 2023-02-22 12:28:18 -08:00
clipping_iterator_test.cc Print stack traces on frozen tests in CI (#10828) 2022-10-18 00:35:35 -07:00
compaction.cc Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction.h Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction_iteration_stats.h Add initial support for TimedPut API (#12419) 2024-03-14 15:44:55 -07:00
compaction_iterator.cc Rework, simplify some tiering logic for mutable options (#13256) 2025-01-03 09:39:07 -08:00
compaction_iterator.h Clean up some CFOptions code hygiene, fix SetOptions() bug (#13294) 2025-01-15 13:11:40 -08:00
compaction_iterator_test.cc Rework, simplify some tiering logic for mutable options (#13256) 2025-01-03 09:39:07 -08:00
compaction_job.cc UnitTest for Remote Compaction Empty Result (#13812) 2025-08-05 10:04:30 -07:00
compaction_job.h Refactor snapshot context into JobContext and fix deadlock on db mutex in WP/WUP (#13632) 2025-05-22 09:42:15 -07:00
compaction_job_stats_test.cc Standardize on clang-format version 18 (#13233) 2024-12-19 10:58:40 -08:00
compaction_job_test.cc Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction_outputs.cc Log pre-compression size written per level in compaction stats (#13596) 2025-05-12 11:53:16 -07:00
compaction_outputs.h Fix Compaction Stats for Remote Compaction and Tiered Storage (#13464) 2025-03-18 16:28:18 -07:00
compaction_picker.cc Make CompactionPicker::CompactFiles() take earliest_snapshot and snapshot_checker (#13816) 2025-08-05 10:05:02 -07:00
compaction_picker.h Make CompactionPicker::CompactFiles() take earliest_snapshot and snapshot_checker (#13816) 2025-08-05 10:05:02 -07:00
compaction_picker_fifo.cc Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction_picker_fifo.h Reduce universal compaction input lock time by forwarding intended compaction and re-picking (#13633) 2025-06-12 18:16:47 -07:00
compaction_picker_level.cc Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction_picker_level.h Reduce universal compaction input lock time by forwarding intended compaction and re-picking (#13633) 2025-06-12 18:16:47 -07:00
compaction_picker_test.cc Add trivial copy support when FIFO compaction reason is kChangeTemperature (#13562) 2025-05-08 15:51:37 -07:00
compaction_picker_universal.cc Remove reductant Compaction parameters (#13777) 2025-07-16 14:06:56 -07:00
compaction_picker_universal.h Reduce universal compaction input lock time by forwarding intended compaction and re-picking (#13633) 2025-06-12 18:16:47 -07:00
compaction_service_job.cc Refactor snapshot context into JobContext and fix deadlock on db mutex in WP/WUP (#13632) 2025-05-22 09:42:15 -07:00
compaction_service_test.cc Make CompactionPicker::CompactFiles() take earliest_snapshot and snapshot_checker (#13816) 2025-08-05 10:05:02 -07:00
compaction_state.cc Fix Compaction Stats for Remote Compaction and Tiered Storage (#13464) 2025-03-18 16:28:18 -07:00
compaction_state.h Fix Compaction Stats for Remote Compaction and Tiered Storage (#13464) 2025-03-18 16:28:18 -07:00
file_pri.h Avoid shifting component too large error in FileTtlBooster (#11673) 2023-08-04 14:29:50 -07:00
sst_partitioner.cc Remove FactoryFunc from LoadXXXObject (#11203) 2023-02-17 12:54:07 -08:00
subcompaction_state.cc Fix Compaction Stats for Remote Compaction and Tiered Storage (#13464) 2025-03-18 16:28:18 -07:00
subcompaction_state.h Add missing fields in BuildSubcompactionJobInfo (#13667) (#13668) 2025-06-10 19:03:29 -07:00
tiered_compaction_test.cc Verify flush output file record count + minor clean up (#13556) 2025-04-23 14:52:56 -07:00