Skip to content

Commit 32c1b29

Browse files
LiuRuoyu01rock-git
authored andcommitted
[fix][store]Fix coprocessor error and add blockcache value conf
1 parent d1e195b commit 32c1b29

File tree

6 files changed

+18
-3
lines changed

6 files changed

+18
-3
lines changed

src/config/config_helper.cc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -334,4 +334,14 @@ double ConfigHelper::GetRaftWorkerThreadRatio() {
334334
return config->GetDouble("server.raft_worker_thread_ratio");
335335
}
336336

337+
std::string ConfigHelper::GetBlockCacheValue(){
338+
auto config = ConfigManager::GetInstance().GetRoleConfig();
339+
if (config == nullptr) {
340+
return Constant::kBlockCacheDefaultValue;
341+
}
342+
343+
int64_t num = config->GetInt64("store.block_cache_size");
344+
return (num <= 0) ? Constant::kBlockCacheDefaultValue : std::to_string(num);
345+
}
346+
337347
} // namespace dingodb

src/config/config_helper.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class ConfigHelper {
5959
static int64_t GetSplitMergeInterval();
6060
static float GetMergeSizeRatio();
6161
static float GetMergeKeysRatio();
62+
63+
static std::string GetBlockCacheValue();
6264
};
6365

6466
} // namespace dingodb

src/coprocessor/coprocessor_v2.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -399,6 +399,7 @@ void CoprocessorV2::Close() {
399399
original_serial_schemas_.reset();
400400
original_column_indexes_.clear();
401401
selection_column_indexes_.clear();
402+
selection_column_indexes_serial_.clear();
402403
result_serial_schemas_.reset();
403404
result_record_encoder_.reset();
404405
original_record_decoder_.reset();
@@ -684,6 +685,7 @@ void CoprocessorV2::GetSelectionColumnIndexes() {
684685
int i = index;
685686
DINGO_LOG(DEBUG) << "index:" << i;
686687
selection_column_indexes_.push_back(original_column_indexes_[i]);
688+
selection_column_indexes_serial_[original_column_indexes_[i]] = i;
687689
}
688690
} else {
689691
DINGO_LOG(DEBUG) << "selection_columns empty()";

src/engine/rocks_raw_engine.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ RocksRawEngine::~RocksRawEngine() = default;
738738
static rocks::ColumnFamilyMap GenColumnFamilyByDefaultConfig(const std::vector<std::string>& column_family_names) {
739739
rocks::ColumnFamily::ColumnFamilyConfig default_config;
740740
default_config.emplace(Constant::kBlockSize, Constant::kBlockSizeDefaultValue);
741-
default_config.emplace(Constant::kBlockCache, Constant::kBlockCacheDefaultValue);
741+
default_config.emplace(Constant::kBlockCache, ConfigHelper::GetBlockCacheValue());
742742
default_config.emplace(Constant::kArenaBlockSize, Constant::kArenaBlockSizeDefaultValue);
743743
default_config.emplace(Constant::kMinWriteBufferNumberToMerge, Constant::kMinWriteBufferNumberToMergeDefaultValue);
744744
default_config.emplace(Constant::kMaxWriteBufferNumber, Constant::kMaxWriteBufferNumberDefaultValue);

src/engine/xdprocks_raw_engine.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -690,7 +690,7 @@ XDPRocksRawEngine::~XDPRocksRawEngine() = default;
690690
static xdp::ColumnFamilyMap GenColumnFamilyByDefaultConfig(const std::vector<std::string>& column_family_names) {
691691
xdp::ColumnFamily::ColumnFamilyConfig default_config;
692692
default_config.emplace(Constant::kBlockSize, "4096");
693-
default_config.emplace(Constant::kBlockCache, Constant::kBlockCacheDefaultValue);
693+
default_config.emplace(Constant::kBlockCache, ConfigHelper::GetBlockCacheValue());
694694
default_config.emplace(Constant::kArenaBlockSize, Constant::kArenaBlockSizeDefaultValue);
695695
default_config.emplace(Constant::kMinWriteBufferNumberToMerge, Constant::kMinWriteBufferNumberToMergeDefaultValue);
696696
default_config.emplace(Constant::kMaxWriteBufferNumber, Constant::kMaxWriteBufferNumberDefaultValue);

src/log/rocks_log_storage.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
#include "common/constant.h"
3434
#include "common/helper.h"
3535
#include "common/logging.h"
36+
#include "config/config_helper.h"
3637
#include "fmt/format.h"
3738
#include "gflags/gflags.h"
3839
#include "glog/logging.h"
@@ -383,7 +384,7 @@ static rocksdb::ColumnFamilyOptions GenColumnFamilyOptions() {
383384

384385
rocksdb::BlockBasedTableOptions table_options;
385386
table_options.block_size = Helper::StringToInt64(Constant::kBlockSizeDefaultValue);
386-
table_options.block_cache = rocksdb::NewLRUCache(Helper::StringToInt64(Constant::kBlockCacheDefaultValue));
387+
table_options.block_cache = rocksdb::NewLRUCache(Helper::StringToInt64(ConfigHelper::GetBlockCacheValue()));
387388

388389
table_options.filter_policy.reset(rocksdb::NewBloomFilterPolicy(10.0, false));
389390
table_options.whole_key_filtering = true;

0 commit comments

Comments
 (0)