• P
    Stable cache keys using DB session ids in SSTs (#8659) · a207c278
    Peter Dillinger 提交于
    Summary:
    Use DB session ids in SST table properties to make cache keys
    stable across DB re-open and copy / move / restore / etc.
    
    These new cache keys are currently only enabled when FileSystem does not
    provide GetUniqueId. For now, they are typically larger, so slightly
    less efficient.
    
    Relevant to https://github.com/facebook/rocksdb/issues/7405
    
    This change has a minor regression in PersistentCache functionality:
    metaindex blocks are no longer cached in PersistentCache. Table properties
    blocks already were not but ideally should be. I didn't spent effort to
    fix & test these issues because we don't believe PersistentCache is used much
    if at all and expect SecondaryCache to replace it. (Though PRs are welcome.)
    
    FIXME: there is more to be fixed for stable cache keys on external SST files
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/8659
    
    Test Plan:
    new unit test added, which fails when disabling new
    functionality
    
    Reviewed By: zhichao-cao
    
    Differential Revision: D30297705
    
    Pulled By: pdillinger
    
    fbshipit-source-id: e8539a5c8802a79340405629870f2e3fb3822d3a
    a207c278
db_block_cache_test.cc 59.4 KB