• P
    Fix, enable, and enhance backup/restore in db_stress (#7348) · 499c9448
    Peter Dillinger 提交于
    Summary:
    Although added to db_stress, testing of backup/restore
    was never integrated into the crash test, originally concerned about
    performance. I've enabled it now and to address the peformance concern,
    testing backup/restore is always skipped once the db exceeds a certain
    size threshold, default 100MB. This should provide sufficient
    opportunity for testing BackupEngine without bogging down everything
    else with heavier and heavier operations.
    
    Also fixed backup/restore in db_stress by making sure PurgeOldBackups
    can remove manifest files, which are normally kept around for db_stress.
    
    Added more coverage of backup options, and up to three backups being
    saved in one backup directory (in some cases).
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/7348
    
    Test Plan:
    ran 'make blackbox_crash_test' for a while, with heightened
    probabilitly of taking backups (1/10k). Also confirmed with some debug
    output that the code is being covered, TestBackupRestore only takes
    a few seconds to complete when triggered, and even at 1/10k and ~50MB
    database, there's <,~ 1 thread testing backups at any time.
    
    Reviewed By: ajkr
    
    Differential Revision: D23510835
    
    Pulled By: pdillinger
    
    fbshipit-source-id: b6b8735591808141f81f10773ac31634cf03b6c0
    499c9448
db_stress_test_base.cc 85.0 KB