• A
    Fixed and simplified merge_helper · 1d20fa9d
    Andres Notzli 提交于
    Summary:
    MergeUntil was not reporting a success when merging an operand with
    a Value/Deletion despite the comments in MergeHelper and CompactionJob
    indicating otherwise. This lead to operands being written to the compaction
    output unnecessarily:
    
    M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M2 M3 M4 M5 (before the diff)
    M1 M2 M3 P M4 M5 --> (P+M1+M2+M3) M4 M5 (after the diff)
    
    In addition, the code handling Values/Deletion was basically identical.
    This patch unifies the code. Finally, this patch also adds testing for
    merge_helper.
    
    Test Plan: make && make check
    
    Reviewers: sdong, rven, yhchiang, tnovak, igor
    
    Reviewed By: igor
    
    Subscribers: tnovak, dhruba, leveldb
    
    Differential Revision: https://reviews.facebook.net/D42351
    1d20fa9d
Makefile 35.5 KB