• Z
    BackupEngine verifies table file checksums on creating new backups (#7015) · 373d5ac4
    Zitan Chen 提交于
    Summary:
    When table file checksums are enabled and stored in the DB manifest by using the RocksDB default crc32c checksum function, BackupEngine will calculate the crc32c checksum of the file to be copied and compare the calculated result with the one stored in the DB manifest before copying the file to the backup directory.
    
    After copying to the backup directory, BackupEngine will verify the checksum of the copied file with the one calculated before copying. This helps detect some rare corruption events such as bit-flips during the copying process.
    
    No verification with checksums in DB manifest will be performed if the table file checksum function is not the RocksDB default crc32c checksum function.
    
    In addition, If `share_table_files` and `share_files_with_checksum` are true, BackupEngine will compare the checksums computed before and after copying of the table files.
    
    Corresponding tests are added.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/7015
    
    Test Plan: Passed make check
    
    Reviewed By: pdillinger
    
    Differential Revision: D22165732
    
    Pulled By: gg814
    
    fbshipit-source-id: ee0e8cc397c455eba64545c29380b9d9853588ec
    373d5ac4
db_test.cc 223.9 KB