[CP] Disable das retry for rescan.

This commit is contained in:
pe-99y
2023-09-18 04:40:20 +00:00
committed by ob-robot
parent 2970475539
commit 350df65bbf
5 changed files with 107 additions and 9 deletions

View File

@ -211,8 +211,8 @@ public:
ObIDASTaskResult *get_op_result() const { return op_result_; }
void set_op_result(ObIDASTaskResult *op_result) { op_result_ = op_result; }
bool get_gi_above_and_rescan() { return gi_above_and_rescan_; }
void set_gi_above_and_rescan(bool flag) { gi_above_and_rescan_ = flag; }
bool get_inner_rescan() { return inner_rescan_; }
void set_inner_rescan(bool flag) { inner_rescan_ = flag; }
protected:
int start_das_task();
@ -236,7 +236,7 @@ protected:
uint16_t in_part_retry_ : 1;
uint16_t in_stmt_retry_ : 1;
uint16_t need_switch_param_ : 1; //need to switch param in gi table rescan, this parameter has been deprecated
uint16_t gi_above_and_rescan_ : 1; //For partition wise nlj, We need to disable das task retry.
uint16_t inner_rescan_ : 1; //disable das retry for inner_rescan
uint16_t status_reserved_ : 11;
};
};

View File

@ -262,12 +262,12 @@ int ObDataAccessService::retry_das_task(ObDASRef &das_ref, ObIDASTaskOp &task_op
"retry_cnt", location_router.get_retry_cnt(),
KPC(task_op.get_tablet_loc()));
if (need_retry &&
task_op.get_gi_above_and_rescan() &&
task_op.get_inner_rescan() &&
location_router.get_retry_cnt() > 100) { //hard code retry 100 times.
//When das scan under px gi with transfor case, we need to disable das retry.
// disable das retry for rescan.
need_retry = false;
retry_continue = false;
LOG_INFO("[DAS RETRY] The PX task has retried too many times and has exited the DAS retry process");
LOG_INFO("[DAS RETRY] The rescan task has retried too many times and has exited the DAS retry process");
}
if (need_retry) {
task_op.in_part_retry_ = true;

View File

@ -1598,9 +1598,7 @@ int ObTableScanOp::local_iter_rescan()
}
}
if (OB_SUCC(ret)) {
if (MY_SPEC.gi_above_) {
scan_op->set_gi_above_and_rescan(true);
}
scan_op->set_inner_rescan(true);
if (OB_FAIL(cherry_pick_range_by_tablet_id(scan_op))) {
LOG_WARN("prune query range by partition id failed", K(ret));
} else if (OB_FAIL(init_das_group_range(0, group_size_))) {

10
test/obproxy_test_config Normal file
View File

@ -0,0 +1,10 @@
# 开关(合法值 yum/wget wget只允许出现与非主流分支 各大主流开发分支请使用yum方式)
obproxy_switch=yum
# obproxy yum源配置
obproxy_yum_branch=current
obproxy_yum_version=4.2.1.0
obproxy_yum_release=20230712162726.el7
# 配置obproxy url
wget_url=xxx

View File

@ -0,0 +1,90 @@
# -*- coding: utf-8 -*-
psmall_test=[
"alter.alter_log_archive_option",
"expr.collation_expr",
"expr.expr_ceil",
"expr.expr_floor",
"expr.expr_instr",
"expr.expr_locate",
"expr.expr_nseq",
"expr.expr_position",
"expr.func_equal",
"expr.func_length",
"expr.func_regexp",
"global_index.global_index_select",
"hierarchical_query.hierarchical_basic_mysql",
"inner_table.all_virtual_data_type",
"inner_table.all_virtual_data_type_class",
"inner_table.all_virtual_engine",
"inner_table.all_virtual_sys_parameter_stat",
"inner_table.all_virtual_upgrade_inspection",
"inner_table.character_sets",
"inner_table.global_status",
"inner_table.global_variables",
"inner_table.inner_table_overall",
"inner_table.session_status",
"inner_table.session_variables",
"inner_table.table_constraints",
"inner_table.tenant_virtual_statname",
"meta_info.meta_build_in_func_test",
"meta_info.meta_const",
"meta_info.meta_func",
"meta_info.meta_func_ceil",
"meta_info.meta_func_floor",
"meta_info.meta_test_func_return_type",
"optimizer.estimate_cost",
"plan_cache.plan_cache_multi_query",
"plan_cache.plan_cache_select_list",
"px.sql_audit",
"static_engine.explicit_cast",
"static_engine.expr_assign",
"static_engine.expr_char_length",
"static_engine.expr_collation",
"static_engine.expr_concat",
"static_engine.expr_conv",
"static_engine.expr_date",
"static_engine.expr_datediff",
"static_engine.expr_des_hex_str",
"static_engine.expr_dump",
"static_engine.expr_empty_arg",
"static_engine.expr_field",
"static_engine.expr_get_sys_var",
"static_engine.expr_get_user_var",
"static_engine.expr_is",
"static_engine.expr_is_serving_tenant",
"static_engine.expr_length",
"static_engine.expr_location",
"static_engine.expr_lower_upper",
"static_engine.expr_nextval",
"static_engine.expr_not",
"static_engine.expr_pad",
"static_engine.expr_part_hash",
"static_engine.expr_part_key",
"static_engine.expr_regexp",
"static_engine.expr_regexp_func",
"static_engine.expr_replace",
"static_engine.expr_sign",
"static_engine.expr_str",
"static_engine.expr_substr",
"static_engine.expr_substring_index",
"static_engine.expr_sys_privilege_check",
"static_engine.expr_time_diff",
"static_engine.expr_todays",
"static_engine.expr_unhex",
"static_engine.expr_unix_timestamp",
"static_engine.merge_set",
"static_engine.static_engine_hash",
"subquery.order_by_subquery",
"transformer.transformer_add_limit_for_union",
"trx.serializable_constrains",
"type_date.add_timestamp_column",
"type_date.datetime_java",
"type_date.daylight_saving_time",
"type_date.expr_date_add_sub",
"type_date.test_select_usec_to_time",
"type_date.timefuncnull",
"type_date.type_create_time",
"type_date.type_modify_time",
"type_date.updaterowkeymoditime",
"window_function.farm"
]