• I
    Make Log::Reader more robust · 58ca641d
    Igor Canadi 提交于
    Summary:
    This diff does two things:
    (1) Log::Reader does not report a corruption when the last record in a log or manifest file is truncated (meaning that log writer died in the middle of the write). Inherited the code from LevelDB: https://code.google.com/p/leveldb/source/detail?r=269fc6ca9416129248db5ca57050cd5d39d177c8#
    (2) Turn off mmap writes for all writes to log and manifest files
    
    (2) is necessary because if we use mmap writes, the last record is not truncated, but is actually filled with zeros, making checksum fail. It is hard to recover from checksum failing.
    
    Test Plan:
    Added unit tests from LevelDB
    Actually recovered a "corrupted" MANIFEST file.
    
    Reviewers: dhruba, haobo
    
    Reviewed By: haobo
    
    CC: leveldb
    
    Differential Revision: https://reviews.facebook.net/D16119
    58ca641d
可在Tags中查看这些版本中当前仓库的状态.
HISTORY.md 2.9 KB