• Z
    Use DbSessionId as cache key prefix when secondary cache is enabled (#8360) · f44e69c6
    Zhichao Cao 提交于
    Summary:
    Currently, we either use the file system inode or a monotonically incrementing runtime ID as the block cache key prefix. However, if we use a monotonically incrementing runtime ID (in the case that the file system does not support inode id generation), in some cases, it cannot ensure uniqueness (e.g., we have secondary cache migrated from host to host). We use DbSessionID (20 bytes) + current file number (at most 10 bytes) as the new cache block key prefix when the secondary cache is enabled. So can accommodate scenarios such as transfer of cache state across hosts.
    
    Pull Request resolved: https://github.com/facebook/rocksdb/pull/8360
    
    Test Plan: add the test to lru_cache_test
    
    Reviewed By: pdillinger
    
    Differential Revision: D29006215
    
    Pulled By: zhichao-cao
    
    fbshipit-source-id: 6cff686b38d83904667a2bd39923cd030df16814
    f44e69c6
sst_file_writer.cc 12.5 KB