Skip to content
  • Levi Tamasi's avatar
    Move the uncompression dictionary object out of the block cache (#5584) · 092f4170
    Levi Tamasi authored
    Summary:
    RocksDB has historically stored uncompression dictionary objects in the block
    cache as opposed to storing just the block contents. This neccesitated
    evicting the object upon table close. With the new code, only the raw blocks
    are stored in the cache, eliminating the need for eviction.
    
    In addition, the patch makes the following improvements:
    
    1) Compression dictionary blocks are now prefetched/pinned similarly to
    index/filter blocks.
    2) A copy operation got eliminated when the uncompression dictionary is
    retrieved.
    3) Errors related to retrieving the uncompression dictionary are propagated as
    opposed to silently ignored.
    
    Note: the patch temporarily breaks the compression dictionary evicition stats.
    They will be fixed in a separate phase.
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/5584
    
    Test Plan: make asan_check
    
    Differential Revision: D16344151
    
    Pulled By: ltamasi
    
    fbshipit-source-id: 2962b295f5b19628f9da88a3fcebbce5a5017a7b
    092f4170