[4.2] fix session sync when fit PACKET_TOO_LARGE ERROR
This commit is contained in:
@ -183,11 +183,6 @@ int ObMPQuery::process()
|
|||||||
ret = OB_ERR_SESSION_INTERRUPTED;
|
ret = OB_ERR_SESSION_INTERRUPTED;
|
||||||
LOG_WARN("session has been killed", K(session.get_session_state()), K_(sql),
|
LOG_WARN("session has been killed", K(session.get_session_state()), K_(sql),
|
||||||
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
||||||
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
|
||||||
//packet size check with session variable max_allowd_packet or net_buffer_length
|
|
||||||
need_disconnect = false;
|
|
||||||
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
|
||||||
LOG_WARN("packet too large than allowed for the session", K_(sql), K(ret));
|
|
||||||
} else if (OB_FAIL(session.check_and_init_retry_info(*cur_trace_id, sql_))) {
|
} else if (OB_FAIL(session.check_and_init_retry_info(*cur_trace_id, sql_))) {
|
||||||
// 注意,retry info和last query trace id的逻辑要写在query lock内,否则会有并发问题
|
// 注意,retry info和last query trace id的逻辑要写在query lock内,否则会有并发问题
|
||||||
LOG_WARN("fail to check and init retry info", K(ret), K(*cur_trace_id), K_(sql));
|
LOG_WARN("fail to check and init retry info", K(ret), K(*cur_trace_id), K_(sql));
|
||||||
@ -211,6 +206,11 @@ int ObMPQuery::process()
|
|||||||
need_response_error = false;
|
need_response_error = false;
|
||||||
LOG_WARN("fail to update sess info", K(ret));
|
LOG_WARN("fail to update sess info", K(ret));
|
||||||
} else if (FALSE_IT(session.post_sync_session_info())) {
|
} else if (FALSE_IT(session.post_sync_session_info())) {
|
||||||
|
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
||||||
|
//packet size check with session variable max_allowd_packet or net_buffer_length
|
||||||
|
need_disconnect = false;
|
||||||
|
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
||||||
|
LOG_WARN("packet too large than allowed for the session", K_(sql), K(ret));
|
||||||
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
||||||
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
||||||
LOG_WARN("failed to update flt extra info", K(ret));
|
LOG_WARN("failed to update flt extra info", K(ret));
|
||||||
|
|||||||
@ -1787,10 +1787,6 @@ int ObMPStmtExecute::process()
|
|||||||
ret = OB_ERR_SESSION_INTERRUPTED;
|
ret = OB_ERR_SESSION_INTERRUPTED;
|
||||||
LOG_WARN("session has been killed", K(session.get_session_state()), K_(stmt_id),
|
LOG_WARN("session has been killed", K(session.get_session_state()), K_(stmt_id),
|
||||||
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
||||||
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
|
||||||
//packet size check with session variable max_allowd_packet or net_buffer_length
|
|
||||||
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
|
||||||
LOG_WARN("packet too large than allowed for the session", K_(stmt_id), K(ret));
|
|
||||||
} else if (OB_FAIL(session.check_and_init_retry_info(*cur_trace_id, ctx_.cur_sql_))) {
|
} else if (OB_FAIL(session.check_and_init_retry_info(*cur_trace_id, ctx_.cur_sql_))) {
|
||||||
LOG_WARN("fail to check and init retry info", K(ret), K(*cur_trace_id), K(ctx_.cur_sql_));
|
LOG_WARN("fail to check and init retry info", K(ret), K(*cur_trace_id), K(ctx_.cur_sql_));
|
||||||
} else if (OB_FAIL(session.get_query_timeout(query_timeout))) {
|
} else if (OB_FAIL(session.get_query_timeout(query_timeout))) {
|
||||||
@ -1813,6 +1809,10 @@ int ObMPStmtExecute::process()
|
|||||||
need_response_error = false;
|
need_response_error = false;
|
||||||
LOG_WARN("fail to update sess info", K(ret));
|
LOG_WARN("fail to update sess info", K(ret));
|
||||||
} else if (FALSE_IT(session.post_sync_session_info())) {
|
} else if (FALSE_IT(session.post_sync_session_info())) {
|
||||||
|
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
||||||
|
//packet size check with session variable max_allowd_packet or net_buffer_length
|
||||||
|
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
||||||
|
LOG_WARN("packet too large than allowed for the session", K_(stmt_id), K(ret));
|
||||||
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
||||||
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
||||||
LOG_WARN("failed to init flt extra info", K(ret));
|
LOG_WARN("failed to init flt extra info", K(ret));
|
||||||
|
|||||||
@ -194,9 +194,6 @@ int ObMPStmtPrepare::process()
|
|||||||
ret = OB_ERR_SESSION_INTERRUPTED;
|
ret = OB_ERR_SESSION_INTERRUPTED;
|
||||||
LOG_WARN("session has been killed", K(session.get_session_state()), K_(sql),
|
LOG_WARN("session has been killed", K(session.get_session_state()), K_(sql),
|
||||||
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
K(session.get_sessid()), "proxy_sessid", session.get_proxy_sessid(), K(ret));
|
||||||
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
|
||||||
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
|
||||||
LOG_WARN("packet too large than allowd for the session", K_(sql), K(ret));
|
|
||||||
} else if (OB_FAIL(session.get_query_timeout(query_timeout))) {
|
} else if (OB_FAIL(session.get_query_timeout(query_timeout))) {
|
||||||
LOG_WARN("fail to get query timeout", K_(sql), K(ret));
|
LOG_WARN("fail to get query timeout", K_(sql), K(ret));
|
||||||
} else if (OB_FAIL(gctx_.schema_service_->get_tenant_received_broadcast_version(
|
} else if (OB_FAIL(gctx_.schema_service_->get_tenant_received_broadcast_version(
|
||||||
@ -217,6 +214,9 @@ int ObMPStmtPrepare::process()
|
|||||||
need_response_error = false;
|
need_response_error = false;
|
||||||
LOG_WARN("fail to update sess info", K(ret));
|
LOG_WARN("fail to update sess info", K(ret));
|
||||||
} else if (FALSE_IT(session.post_sync_session_info())) {
|
} else if (FALSE_IT(session.post_sync_session_info())) {
|
||||||
|
} else if (OB_UNLIKELY(packet_len > session.get_max_packet_size())) {
|
||||||
|
ret = OB_ERR_NET_PACKET_TOO_LARGE;
|
||||||
|
LOG_WARN("packet too large than allowd for the session", K_(sql), K(ret));
|
||||||
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
} else if (OB_FAIL(sql::ObFLTUtils::init_flt_info(pkt.get_extra_info(), session,
|
||||||
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
conn->proxy_cap_flags_.is_full_link_trace_support()))) {
|
||||||
LOG_WARN("failed to init flt extra info", K(ret));
|
LOG_WARN("failed to init flt extra info", K(ret));
|
||||||
|
|||||||
Reference in New Issue
Block a user