• S
    Cascade TTL Compactions to move expired key ranges to bottom levels faster (#5992) · c17384fe
    Sagar Vemuri 提交于
    Summary:
    When users use Level-Compaction-with-TTL by setting `cf_options.ttl`, the ttl-expired data could take n*ttl time to reach the bottom level (where n is the number of levels) due to how the `creation_time` table property was calculated for the newly created files during compaction. The creation time of new files was set to a max of all compaction-input-files-creation-times which essentially resulted in resetting the ttl as the key range moves across levels. This behavior is now fixed by changing the `creation_time` to be based on minimum of all compaction-input-files-creation-times; this will cause cascading compactions across levels for the ttl-expired data to move to the bottom level, resulting in getting rid of tombstones/deleted-data faster.
    
    This will help start cascading compactions to move the expired key range to the bottom-most level faster.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/5992
    
    Test Plan: `make check`
    
    Differential Revision: D18257883
    
    Pulled By: sagar0
    
    fbshipit-source-id: 00df0bb8d0b7e14d9fc239df2cba8559f3e54cbc
    c17384fe
compaction_job.cc 65.5 KB