• C
    Support compacting files to different temperatures in FIFO compaction (#11428) · 8827cd06
    Changyu Bi 提交于
    Summary:
    - Add a new option `CompactionOptionsFIFO::file_temperature_age_thresholds` that allows user to specify age thresholds for compacting files to different temperatures. File temperature can be used to store files in different storage media. The new options allows specifying multiple temperature-age pairs. The option uses struct for a temperature-age pair to use the existing parsing functionality to make the option dynamically settable.
    - Deprecate the old option `age_for_warm` that was added for a similar purpose.
    - Compaction score calculation logic is updated to check if a file needs to be compacted to change its temperature.
    - Some refactoring is done in `FIFOCompactionPicker::PickTemperatureChangeCompaction`.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/11428
    
    Test Plan: adapted unit tests that were for `age_for_warm` to this new option.
    
    Reviewed By: ajkr
    
    Differential Revision: D45611412
    
    Pulled By: cbi42
    
    fbshipit-source-id: 2dc384841f61cc04abb9681e31aa2de0f0b06106
    8827cd06
column_family.cc 65.5 KB