提交 7068fdaa 编写于 作者: C chaser-ch 提交者: ob-robot

[CP] disable fuse row cache in multiget

上级 2c275236
......@@ -885,6 +885,10 @@ DEF_INT(bf_cache_miss_count_threshold, OB_CLUSTER_PARAMETER, "100", "[0,)",
ObParameterAttr(Section::CACHE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
DEF_INT(fuse_row_cache_priority, OB_CLUSTER_PARAMETER, "1", "[1,)", "fuse row cache priority. Range: [1, )",
ObParameterAttr(Section::CACHE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
DEF_BOOL(_enable_fuse_row_cache, OB_CLUSTER_PARAMETER, "False",
"enable fuse row cache"
"Value: True:turned on; False: turned off",
ObParameterAttr(Section::CACHE, Source::DEFAULT, EditLevel::DYNAMIC_EFFECTIVE));
// background limit config
DEF_INT(sys_bkgd_io_low_percentage, OB_CLUSTER_PARAMETER, "0", "[0,100]",
......
......@@ -174,9 +174,10 @@ int ObMultipleGetMerge::construct_iters_with_fuse_row_cache()
} else {
access_ctx_->query_flag_.set_not_use_fuse_row_cache();
}
const bool enable_fuse_row_cache = access_ctx_->use_fuse_row_cache_ &&
access_param_->iter_param_.enable_fuse_row_cache() &&
access_ctx_->query_flag_.is_use_fuse_row_cache();
const bool enable_fuse_row_cache = is_x86() && GCONF._enable_fuse_row_cache
&& access_ctx_->use_fuse_row_cache_
&& access_param_->iter_param_.enable_fuse_row_cache()
&& access_ctx_->query_flag_.is_use_fuse_row_cache();
access_ctx_->use_fuse_row_cache_ = enable_fuse_row_cache;
if (OB_FAIL(fuse_row_cache_fetcher_.init(*access_param_, *access_ctx_))) {
......
......@@ -139,13 +139,13 @@ int ObSingleMerge::inner_get_next_row(ObStoreRow& row)
int ret = OB_SUCCESS;
if (NULL != rowkey_) {
bool found_row_cache = false;
bool has_frozen_memtable = false;
int64_t end_table_idx = 0;
int64_t row_cache_snapshot_version = 0;
const ObIArray<ObITable*>& tables = tables_handle_.get_tables();
const bool enable_fuse_row_cache = is_x86() && access_ctx_->use_fuse_row_cache_ &&
access_param_->iter_param_.enable_fuse_row_cache() &&
access_ctx_->fuse_row_cache_hit_rate_ > 6;
const bool enable_fuse_row_cache = is_x86() && GCONF._enable_fuse_row_cache
&& access_ctx_->use_fuse_row_cache_
&& access_param_->iter_param_.enable_fuse_row_cache()
&& access_ctx_->fuse_row_cache_hit_rate_ > 6;
access_ctx_->query_flag_.set_not_use_row_cache();
const int64_t table_cnt = tables.count();
ObITable* table = NULL;
......@@ -171,7 +171,7 @@ int ObSingleMerge::inner_get_next_row(ObStoreRow& row)
K(access_param_->iter_param_.enable_fuse_row_cache()));
// firstly, try get from fuse row cache if memtable row is not final result
if (OB_SUCC(ret) && enable_fuse_row_cache && !has_frozen_memtable) {
if (OB_SUCC(ret) && enable_fuse_row_cache) {
if (OB_FAIL(fuse_row_cache_fetcher_.get_fuse_row_cache(rowkey_->get_store_rowkey(), handle_))) {
if (OB_ENTRY_NOT_EXIST != ret) {
STORAGE_LOG(WARN, "fail to get from fuse row cache", K(ret), K(*rowkey_));
......
......@@ -308,6 +308,7 @@ _enable_easy_keepalive
_enable_fast_commit
_enable_filter_push_down_storage
_enable_fulltext_index
_enable_fuse_row_cache
_enable_hash_join_hasher
_enable_hash_join_processor
_enable_ha_gts_full_service
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册