提交 76ae3d87 编写于 作者: R raywill 提交者: LINGuanRen

disable change error code for ac=1 remote query

上级 e43242fe
...@@ -77,7 +77,8 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co ...@@ -77,7 +77,8 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co
} else { } else {
client_ret = OB_TIMEOUT; client_ret = OB_TIMEOUT;
} }
if (is_try_lock_row_err(session->get_retry_info().get_last_query_retry_err())) { if (result.get_exec_context().need_change_timeout_ret() &&
is_try_lock_row_err(session->get_retry_info().get_last_query_retry_err())) {
client_ret = OB_ERR_EXCLUSIVE_LOCK_CONFLICT; client_ret = OB_ERR_EXCLUSIVE_LOCK_CONFLICT;
} }
retry_type_ = RETRY_TYPE_NONE; retry_type_ = RETRY_TYPE_NONE;
...@@ -410,10 +411,6 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co ...@@ -410,10 +411,6 @@ void ObQueryRetryCtrl::test_and_save_retry_state(const ObGlobalContext& gctx, co
} else if (OB_AUTOINC_SERVICE_BUSY == err) { } else if (OB_AUTOINC_SERVICE_BUSY == err) {
force_local_retry ? (void)(retry_type_ = RETRY_TYPE_LOCAL) : try_packet_retry(multi_stmt_item); force_local_retry ? (void)(retry_type_ = RETRY_TYPE_LOCAL) : try_packet_retry(multi_stmt_item);
if (RETRY_TYPE_LOCAL == retry_type_) { if (RETRY_TYPE_LOCAL == retry_type_) {
// 对于 OB_AUTOINC_SERVICE_BUSY 错误,理想情况是将 query 放回队列。
// 不过即使由于各种原因无法放回队列,也值得做重试。因为让整个 query
// 从阻塞中退出,还是可以释放不少属于这个 query 的 dist execution rpc 线程
// 尽可能避免 rpc 死锁。
sleep_before_local_retry(ObQueryRetryCtrl::RETRY_SLEEP_TYPE_LINEAR, sleep_before_local_retry(ObQueryRetryCtrl::RETRY_SLEEP_TYPE_LINEAR,
WAIT_RETRY_WRITE_DML_US, WAIT_RETRY_WRITE_DML_US,
retry_times_, retry_times_,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册