[CP] [FEAT MERGE] CRASH ERROR include SQL_INFO 2.0
This commit is contained in:
		| @ -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的执行环节 | ||||
|     // | ||||
|     // | ||||
|  | ||||
| @ -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; | ||||
|  | ||||
| @ -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; | ||||
| } | ||||
|  | ||||
|  | ||||
| @ -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), | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 tushicheng
					tushicheng