• A
    fix DeleteRange memory leak for mmap and block cache (#4810) · e0be1bc4
    Andrew Kryczka 提交于
    Summary:
    Previously we were cleaning up range tombstone meta-block by calling `ReleaseCachedEntry`, which wouldn't work if `value != nullptr && cache_handle == nullptr`. This happened at least in the case with mmap reads and block cache both enabled. I noticed `NewDataBlockIterator` intends to handle all these cases, so migrated to that instead of `NewUnfragmentedRangeTombstoneIterator`.
    
    Also changed the table-opening logic to fail on `ReadRangeDelBlock` failure, since that can cause data corruption. Added a test case to verify this behavior. Note the test case does not fail on `TryReopen` because failure to preload table handlers is not considered critical. However, it does fail on any read involving that file since it cannot return correct data.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/4810
    
    Differential Revision: D13534296
    
    Pulled By: ajkr
    
    fbshipit-source-id: 55dde1111717cea6ec4bf38418daab81ccef3599
    e0be1bc4
可在Tags中查看这些版本中当前仓库的状态.
HISTORY.md 70.5 KB