diff --git a/src/observer/mysql/ob_query_retry_ctrl.cpp b/src/observer/mysql/ob_query_retry_ctrl.cpp index 6fefa4bb68..6f8abd6ab2 100644 --- a/src/observer/mysql/ob_query_retry_ctrl.cpp +++ b/src/observer/mysql/ob_query_retry_ctrl.cpp @@ -300,18 +300,24 @@ public: v.retry_type_ = RETRY_TYPE_NONE; } v.no_more_test_ = true; - } else if (is_load_local(v)) { - v.client_ret_ = err; - v.retry_type_ = RETRY_TYPE_NONE; - v.no_more_test_ = true; - } else if (is_direct_load(v)) { - if (is_direct_load_retry_err(err)) { - try_packet_retry(v); + } else if (stmt::T_LOAD_DATA == v.result_.get_stmt_type()) { + if (is_load_local(v)) { + v.client_ret_ = err; + v.retry_type_ = RETRY_TYPE_NONE; + v.no_more_test_ = true; + } else if (is_direct_load(v)) { + if (is_direct_load_retry_err(err)) { + try_packet_retry(v); + } else { + v.client_ret_ = err; + v.retry_type_ = RETRY_TYPE_NONE; + } + v.no_more_test_ = true; } else { v.client_ret_ = err; v.retry_type_ = RETRY_TYPE_NONE; + v.no_more_test_ = true; } - v.no_more_test_ = true; } } };