[CP] [FEAT MERGE] CRASH ERROR include SQL_INFO 2.0

This commit is contained in:
tushicheng
2024-03-14 07:45:26 +00:00
committed by ob-robot
parent eb197925b7
commit d6e0624219
19 changed files with 75 additions and 33 deletions

View File

@ -648,6 +648,7 @@ int ObRemoteBaseExecuteP<T>::execute_with_sql(ObRemoteTask &task)
// 设置诊断功能环境
if (OB_SUCC(ret)) {
ObSessionStatEstGuard stat_est_guard(session->get_effective_tenant_id(), session->get_sessid());
SQL_INFO_GUARD(task.get_remote_sql_info()->remote_sql_, session->get_cur_sql_id());
// 初始化ObTask的执行环节
//
//
@ -946,6 +947,7 @@ int ObRpcRemoteExecuteP::process()
ObSessionStatEstGuard stat_est_guard(
session->get_effective_tenant_id(),
session->get_sessid());
SQL_INFO_GUARD(task.get_sql_string(), session->get_cur_sql_id());
// 初始化ObTask的执行环节
//
//

View File

@ -12,6 +12,7 @@
#define USING_LOG_PREFIX SQL_EXE
#include "lib/signal/ob_signal_struct.h"
#include "sql/session/ob_sql_session_info.h"
#include "sql/engine/ob_physical_plan_ctx.h"
#include "sql/engine/ob_exec_context.h"
@ -174,6 +175,7 @@ int ObRemoteTaskExecutor::build_task(ObExecContext &query_ctx,
task.set_runner_server(task_info.get_task_location().get_server());
task.set_ob_task_id(task_info.get_task_location().get_ob_task_id());
task.set_serialize_param(&query_ctx, root_spec, phy_plan);
task.set_sql_string(ObSqlInfoGuard::get_tl_sql_info().sql_string_);
}
}
return ret;

View File

@ -157,6 +157,9 @@ OB_DEF_DESERIALIZE(ObTask)
LST_DO_CODE(OB_UNIS_DECODE, max_sql_no_);
ObString sql_string;
OB_UNIS_DECODE(sql_string);
if(OB_SUCC(ret)) {
set_sql_string(sql_string);
}
return ret;
}

View File

@ -69,6 +69,17 @@ public:
void set_max_sql_no(int64_t max_sql_no) { max_sql_no_ = max_sql_no; }
const common::ObIArray<ObNewRange> &get_ranges() const { return ranges_; }
int assign_ranges(const ObIArray<ObNewRange> &ranges);
const ObString get_sql_string() const { return ObString(sql_string_); }
void set_sql_string(const ObString &sql_string)
{
if (0 == sql_string.length()) {
sql_string_[0] = '\0';
} else {
int64_t str_size = min(sql_string.length(), common::OB_TINY_SQL_LENGTH);
STRNCPY(sql_string_, sql_string.ptr(), str_size);
sql_string_[str_size] = '\0';
}
}
TO_STRING_KV(N_OB_TASK_ID, ob_task_id_,
K_(runner_svr),
K_(ctrl_svr),