From 19e74b837522d158a6121e9ed424de2c4d984ddc Mon Sep 17 00:00:00 2001 From: chinaxing Date: Tue, 14 May 2024 08:16:37 +0000 Subject: [PATCH] abort stuck when submit abort log failed due to direct load need submit end log --- src/storage/tx/ob_trans_part_ctx.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storage/tx/ob_trans_part_ctx.cpp b/src/storage/tx/ob_trans_part_ctx.cpp index 4480da9375..08016c2601 100644 --- a/src/storage/tx/ob_trans_part_ctx.cpp +++ b/src/storage/tx/ob_trans_part_ctx.cpp @@ -2077,7 +2077,7 @@ int ObPartTransCtx::compensate_abort_log_() } else if (OB_FAIL(submit_log_impl_(ObTxLogType::TX_ABORT_LOG))) { int tmp_ret = OB_SUCCESS; - if (OB_EAGAIN == ret && OB_TMP_FAIL(restart_2pc_trans_timer_())) { + if (OB_TMP_FAIL(restart_2pc_trans_timer_())) { TRANS_LOG(WARN, "restart_2pc_trans_timer_ for submit abort log fail", KR(ret), KR(tmp_ret), KPC(this)); } @@ -2095,6 +2095,7 @@ int ObPartTransCtx::abort_(int reason) if (OB_FAIL(do_local_tx_end_(TxEndAction::ABORT_TX))) { TRANS_LOG(WARN, "do local tx abort failed", K(ret), K(reason)); } + part_trans_action_ = ObPartTransAction::ABORT; // if abort was caused by internal impl reason, don't disturb if (ObTxAbortCause::IMPLICIT_ROLLBACK != reason) { TRANS_LOG(INFO, "tx abort", K(ret), K(reason), "reason_str", ObTxAbortCauseNames::of(reason), KPC(this));