• S
    Universal Compactions with Small Files · b23bbaa8
    sdong 提交于
    Summary:
    With this change, we use L1 and up to store compaction outputs in universal compaction.
    The compaction pick logic stays the same. Outputs are stored in the largest "level" as possible.
    
    If options.num_levels=1, it behaves all the same as now.
    
    Test Plan:
    1) convert most of existing unit tests for universal comapaction to include the option of one level and multiple levels.
    2) add a unit test to cover parallel compaction in universal compaction and run it in one level and multiple levels
    3) add unit test to migrate from multiple level setting back to one level setting
    4) add a unit test to insert keys to trigger multiple rounds of compactions and verify results.
    
    Reviewers: rven, kradhakrishnan, yhchiang, igor
    
    Reviewed By: igor
    
    Subscribers: meyering, leveldb, MarkCallaghan, dhruba
    
    Differential Revision: https://reviews.facebook.net/D34539
    b23bbaa8
db_test.cc 398.7 KB