• A
    Level-based L0->L0 compaction · d659faad
    Andrew Kryczka 提交于
    Summary:
    Level-based L0->L0 compaction operates on spans of files that aren't currently being compacted. It reduces the number of L0 files, thus making write stall conditions harder to reach.
    
    - L0->L0 is triggered when base level is unavailable due to pending compactions
    - L0->L0 always outputs one file of at most `max_level0_burst_file_size` bytes.
    - Subcompactions are disabled for L0->L0 since we want to output one file.
    - Input files are chosen as the longest span of available files that will fit within the size limit. This minimizes number of files in L0.
    Closes https://github.com/facebook/rocksdb/pull/2027
    
    Differential Revision: D4760318
    
    Pulled By: ajkr
    
    fbshipit-source-id: 9d07183
    d659faad
db_range_del_test.cc 31.4 KB