From 3d73ffb652fbd2c1c22a4eb47fd0aa41b30e47cb Mon Sep 17 00:00:00 2001 From: chinaxing Date: Tue, 7 Feb 2023 17:33:25 +0800 Subject: [PATCH] [master] fix mark session in retry for LargeQuery --- src/observer/mysql/ob_query_retry_ctrl.h | 4 ++++ src/observer/mysql/obmp_query.cpp | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/observer/mysql/ob_query_retry_ctrl.h b/src/observer/mysql/ob_query_retry_ctrl.h index acc4471b4c..22665e357d 100644 --- a/src/observer/mysql/ob_query_retry_ctrl.h +++ b/src/observer/mysql/ob_query_retry_ctrl.h @@ -178,6 +178,10 @@ public: bool force_local_retry = false, bool is_inner_sql = false, bool is_from_pl = false); + void set_packet_retry(const int err) { + retry_type_ = RETRY_TYPE_PACKET; + retry_err_code_ = err; + } void clear_state_before_each_retry(sql::ObQueryRetryInfo &retry_info) { retry_type_ = RETRY_TYPE_NONE; diff --git a/src/observer/mysql/obmp_query.cpp b/src/observer/mysql/obmp_query.cpp index 59349ee7f6..bcb53684f7 100644 --- a/src/observer/mysql/obmp_query.cpp +++ b/src/observer/mysql/obmp_query.cpp @@ -793,7 +793,7 @@ OB_INLINE int ObMPQuery::do_process(ObSQLSessionInfo &session, need_response_error = false; } } else { - session.set_session_in_retry(ObSessionRetryStatus::SESS_IN_RETRY); + retry_ctrl_.set_packet_retry(ret); session.get_retry_info_for_update().set_last_query_retry_err(ret); session.get_retry_info_for_update().inc_retry_cnt(); }