prexecute only support local retry
This commit is contained in:
committed by
wangzelin.wzl
parent
c32d7e433b
commit
f13c9e8a24
@ -68,7 +68,7 @@ int ObAsyncCmdDriver::response_result(ObMySQLResultSet &result)
|
|||||||
LOG_WARN("close result set fail", K(close_ret));
|
LOG_WARN("close result set fail", K(close_ret));
|
||||||
}
|
}
|
||||||
if (!result.is_async_end_trans_submitted()) {
|
if (!result.is_async_end_trans_submitted()) {
|
||||||
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret);
|
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret, is_prexecute_);
|
||||||
LOG_WARN("result set open failed, check if need retry",
|
LOG_WARN("result set open failed, check if need retry",
|
||||||
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
||||||
ret = cli_ret;
|
ret = cli_ret;
|
||||||
|
|||||||
@ -79,7 +79,7 @@ int ObAsyncPlanDriver::response_result(ObMySQLResultSet &result)
|
|||||||
// 如果try_again为true,说明这条SQL需要重做。考虑到重做之前我们需要回滚整个事务,会调用EndTransCb
|
// 如果try_again为true,说明这条SQL需要重做。考虑到重做之前我们需要回滚整个事务,会调用EndTransCb
|
||||||
// 所以这里设置一个标记,告诉EndTransCb这种情况下不要给客户端回包。
|
// 所以这里设置一个标记,告诉EndTransCb这种情况下不要给客户端回包。
|
||||||
int cli_ret = OB_SUCCESS;
|
int cli_ret = OB_SUCCESS;
|
||||||
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret);
|
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret, is_prexecute_);
|
||||||
if (retry_ctrl_.need_retry()) {
|
if (retry_ctrl_.need_retry()) {
|
||||||
result.set_end_trans_async(false);
|
result.set_end_trans_async(false);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -114,7 +114,7 @@ int ObSyncCmdDriver::response_result(ObMySQLResultSet &result)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// open失败,决定是否需要重试
|
// open失败,决定是否需要重试
|
||||||
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret);
|
retry_ctrl_.test_and_save_retry_state(gctx_, ctx_, result, ret, cli_ret, is_prexecute_);
|
||||||
LOG_WARN("result set open failed, check if need retry",
|
LOG_WARN("result set open failed, check if need retry",
|
||||||
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
||||||
ret = cli_ret;
|
ret = cli_ret;
|
||||||
|
|||||||
@ -72,7 +72,8 @@ int ObSyncPlanDriver::response_result(ObMySQLResultSet &result)
|
|||||||
ctx_,
|
ctx_,
|
||||||
result,
|
result,
|
||||||
ret,
|
ret,
|
||||||
cli_ret);
|
cli_ret,
|
||||||
|
is_prexecute_);
|
||||||
if (OB_TRANSACTION_SET_VIOLATION != ret && OB_REPLICA_NOT_READABLE != ret) {
|
if (OB_TRANSACTION_SET_VIOLATION != ret && OB_REPLICA_NOT_READABLE != ret) {
|
||||||
if (OB_TRY_LOCK_ROW_CONFLICT == ret && retry_ctrl_.need_retry()) {
|
if (OB_TRY_LOCK_ROW_CONFLICT == ret && retry_ctrl_.need_retry()) {
|
||||||
//锁冲突重试不打印日志,避免刷屏
|
//锁冲突重试不打印日志,避免刷屏
|
||||||
@ -107,7 +108,8 @@ int ObSyncPlanDriver::response_result(ObMySQLResultSet &result)
|
|||||||
ctx_,
|
ctx_,
|
||||||
result,
|
result,
|
||||||
ret,
|
ret,
|
||||||
cli_ret);
|
cli_ret,
|
||||||
|
is_prexecute_);
|
||||||
LOG_WARN("result response failed, check if need retry",
|
LOG_WARN("result response failed, check if need retry",
|
||||||
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
K(ret), K(cli_ret), K(retry_ctrl_.need_retry()));
|
||||||
ret = cli_ret;
|
ret = cli_ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user