disable _trace_control_info set by user

This commit is contained in:
obdev 2023-04-26 12:53:46 +00:00 committed by ob-robot
parent 1ec41795d6
commit dd54f8018d
3 changed files with 16 additions and 0 deletions

View File

@ -684,6 +684,8 @@ class EventTable
EN_TX_RESULT_INCOMPLETE = 2011,
EN_THREAD_HANG = 2022,
EN_ENABLE_SET_TRACE_CONTROL_INFO = 2100,
EVENT_TABLE_MAX = SIZE_OF_EVENT_TABLE
};

View File

@ -38,6 +38,7 @@ const char* const ENABLE_AUTO_LEADER_SWITCH = "enable_auto_leader_switch";
const char* const MAJOR_COMPACT_TRIGGER = "major_compact_trigger";
const char* const ENABLE_PERF_EVENT = "enable_perf_event";
const char* const ENABLE_SQL_AUDIT = "enable_sql_audit";
const char *const OB_STR_TRC_CONTROL_INFO = "_trace_control_info";
const char* const CONFIG_TRUE_VALUE_BOOL = "1";
const char* const CONFIG_FALSE_VALUE_BOOL = "0";
const char* const CONFIG_TRUE_VALUE_STRING = "true";

View File

@ -1973,6 +1973,12 @@ int ObSetConfigResolver::resolve(const ParseNode &parse_tree)
if (OB_SUCC(ret)) {
bool is_backup_config = false;
bool can_set_trace_control_info = false;
int tmp_ret = OB_SUCCESS;
tmp_ret = OB_E(EventTable::EN_ENABLE_SET_TRACE_CONTROL_INFO) OB_SUCCESS;
if (OB_SUCCESS != tmp_ret) {
can_set_trace_control_info = true;
}
share::ObBackupConfigChecker backup_config_checker;
if (OB_FAIL(backup_config_checker.check_config_name(item.name_.ptr(), is_backup_config))) {
LOG_WARN("fail to check is valid backup config", K(ret), "config_name", item.name_.ptr(), "config value", item.value_.ptr());
@ -2041,6 +2047,13 @@ int ObSetConfigResolver::resolve(const ParseNode &parse_tree)
if(OB_FAIL(observer::ObRSTCollector::get_instance().control_query_response_time(item.exec_tenant_id_, item.value_.str()))){
LOG_WARN("set query response time stats", K(ret));
}
} else if (!can_set_trace_control_info &&
session_info_ != NULL &&
0 == STRCMP(item.name_.ptr(), OB_STR_TRC_CONTROL_INFO) &&
!session_info_->is_inner()) {
ret = OB_OP_NOT_ALLOW;
LOG_WARN("_trace_control_info is not allowed to modify");
LOG_USER_ERROR(OB_OP_NOT_ALLOW, "alter the parameter _trace_control_info");
}
}
}