From 455508c623be50cafe0e6aebe3a5430c4633e2b3 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 29 Nov 2022 08:35:42 +0000 Subject: [PATCH] [4.1][xa] fix revert xa ctx when handle termiante --- src/storage/tx/ob_xa_ctx.cpp | 2 +- src/storage/tx/ob_xa_service.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/storage/tx/ob_xa_ctx.cpp b/src/storage/tx/ob_xa_ctx.cpp index b8f7a7521..0add3ec54 100644 --- a/src/storage/tx/ob_xa_ctx.cpp +++ b/src/storage/tx/ob_xa_ctx.cpp @@ -1858,7 +1858,7 @@ int ObXACtx::clear_branch_for_xa_terminate_(const ObXATransID &xid, is_exiting_ = true; } // tx_desc.set_xa_ctx(NULL); - xa_ctx_mgr_->revert_xa_ctx(this); + // xa_ctx_mgr_->revert_xa_ctx(this); if (delete_branch && OB_SUCCESS != (tmp_ret = xa_service_->delete_xa_all_tightly_branch(tenant_id_, xid))) { TRANS_LOG(WARN, "delete xa tight branch failed", K(ret), K(xid)); diff --git a/src/storage/tx/ob_xa_service.cpp b/src/storage/tx/ob_xa_service.cpp index b42827abd..79a56c488 100644 --- a/src/storage/tx/ob_xa_service.cpp +++ b/src/storage/tx/ob_xa_service.cpp @@ -2123,6 +2123,7 @@ int ObXAService::handle_terminate_for_xa_branch(const ObXATransID &xid, ObTxDesc if (OB_SUCCESS != (tmp_ret = xa_ctx->clear_branch_for_xa_terminate(xid, tx_desc, true))) { TRANS_LOG(WARN, "clear branch for xa terminate failed", K(ret), K(xid), K(tx_id)); } + xa_ctx_mgr_.revert_xa_ctx(xa_ctx); TRANS_LOG(INFO, "handle terminate for tightly coupled xa branch", K(ret), K(xid), K(tx_id)); } } -- GitLab