• L
    Fix a SingleDelete related optimization for blob indexes (#7904) · e5311a8e
    Levi Tamasi 提交于
    Summary:
    There is a small `SingleDelete` related optimization in the
    `CompactionIterator` code: when a `SingleDelete`-`Put` pair is preserved
    solely for the purposes of transaction conflict checking, the value
    itself gets cleared. (This is referred to as "optimization 3" in the
    `CompactionIterator` code.) Though the rest of the code got updated to
    support `SingleDelete`'ing blob indexes, this chunk was apparently
    missed, resulting in an assertion failure (or `ROCKS_LOG_FATAL` in release
    builds) when triggered. Note: in addition to clearing the value, we also
    need to update the type of the KV to regular value when dealing with
    blob indexes here.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/7904
    
    Test Plan: `make check`
    
    Reviewed By: ajkr
    
    Differential Revision: D26118009
    
    Pulled By: ltamasi
    
    fbshipit-source-id: 6bf78043d20265e2b15c2e1ab8865025040c42ae
    e5311a8e
compaction_iterator.cc 40.3 KB