diff --git a/src/observer/mysql/ob_async_cmd_driver.cpp b/src/observer/mysql/ob_async_cmd_driver.cpp index f8e4cd01a6..1f46ec8fd3 100644 --- a/src/observer/mysql/ob_async_cmd_driver.cpp +++ b/src/observer/mysql/ob_async_cmd_driver.cpp @@ -68,7 +68,7 @@ int ObAsyncCmdDriver::response_result(ObMySQLResultSet &result) LOG_WARN("close result set fail", K(close_ret)); } 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", K(ret), K(cli_ret), K(retry_ctrl_.need_retry())); ret = cli_ret; diff --git a/src/observer/mysql/ob_async_plan_driver.cpp b/src/observer/mysql/ob_async_plan_driver.cpp index 3cfc19a780..a4a068877f 100644 --- a/src/observer/mysql/ob_async_plan_driver.cpp +++ b/src/observer/mysql/ob_async_plan_driver.cpp @@ -79,7 +79,7 @@ int ObAsyncPlanDriver::response_result(ObMySQLResultSet &result) // 如果try_again为true,说明这条SQL需要重做。考虑到重做之前我们需要回滚整个事务,会调用EndTransCb // 所以这里设置一个标记,告诉EndTransCb这种情况下不要给客户端回包。 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()) { result.set_end_trans_async(false); } diff --git a/src/observer/mysql/ob_sync_cmd_driver.cpp b/src/observer/mysql/ob_sync_cmd_driver.cpp index c5160acf49..c32ccb4c3b 100644 --- a/src/observer/mysql/ob_sync_cmd_driver.cpp +++ b/src/observer/mysql/ob_sync_cmd_driver.cpp @@ -114,7 +114,7 @@ int ObSyncCmdDriver::response_result(ObMySQLResultSet &result) } // 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", K(ret), K(cli_ret), K(retry_ctrl_.need_retry())); ret = cli_ret; diff --git a/src/observer/mysql/ob_sync_plan_driver.cpp b/src/observer/mysql/ob_sync_plan_driver.cpp index b9bb6b5c40..a1ad23c0c4 100644 --- a/src/observer/mysql/ob_sync_plan_driver.cpp +++ b/src/observer/mysql/ob_sync_plan_driver.cpp @@ -72,7 +72,8 @@ int ObSyncPlanDriver::response_result(ObMySQLResultSet &result) ctx_, result, ret, - cli_ret); + cli_ret, + is_prexecute_); if (OB_TRANSACTION_SET_VIOLATION != ret && OB_REPLICA_NOT_READABLE != ret) { if (OB_TRY_LOCK_ROW_CONFLICT == ret && retry_ctrl_.need_retry()) { //锁冲突重试不打印日志,避免刷屏 @@ -107,7 +108,8 @@ int ObSyncPlanDriver::response_result(ObMySQLResultSet &result) ctx_, result, ret, - cli_ret); + cli_ret, + is_prexecute_); LOG_WARN("result response failed, check if need retry", K(ret), K(cli_ret), K(retry_ctrl_.need_retry())); ret = cli_ret;