fix-rocksdb-blockcache-recreation-problem

This commit is contained in:
Zhe Wang 2022-03-29 01:14:14 -04:00
parent 61474d5d54
commit 37c7b3ff18
1 changed files with 5 additions and 1 deletions

View File

@ -147,6 +147,7 @@ private:
};
using DB = rocksdb::DB*;
using CF = rocksdb::ColumnFamilyHandle*;
std::shared_ptr<rocksdb::Cache> rocksdb_block_cache = nullptr;
#define PERSIST_PREFIX "\xff\xff"
const KeyRef persistVersion = LiteralStringRef(PERSIST_PREFIX "Version");
@ -288,7 +289,10 @@ rocksdb::ColumnFamilyOptions getCFOptions() {
}
if (SERVER_KNOBS->ROCKSDB_BLOCK_CACHE_SIZE > 0) {
bbOpts.block_cache = rocksdb::NewLRUCache(SERVER_KNOBS->ROCKSDB_BLOCK_CACHE_SIZE);
if (rocksdb_block_cache == nullptr) {
rocksdb_block_cache = rocksdb::NewLRUCache(SERVER_KNOBS->ROCKSDB_BLOCK_CACHE_SIZE);
}
bbOpts.block_cache = rocksdb_block_cache;
}
options.table_factory.reset(rocksdb::NewBlockBasedTableFactory(bbOpts));