From 994c56f914dafd8e1ece2f14ed105af95c19d3c7 Mon Sep 17 00:00:00 2001 From: meiyi Date: Mon, 5 Aug 2024 16:33:20 +0800 Subject: [PATCH] [fix](txn) fix abortTxn by label does not acquire table write lock (#38777) (#38842) pick https://github.com/apache/doris/pull/38777 --- .../org/apache/doris/transaction/GlobalTransactionMgr.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java index 24d92849b4..928fa78550 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java @@ -347,8 +347,11 @@ public class GlobalTransactionMgr implements Writable { // for http cancel stream load api public void abortTransaction(Long dbId, String label, String reason) throws UserException { - DatabaseTransactionMgr dbTransactionMgr = getDatabaseTransactionMgr(dbId); - dbTransactionMgr.abortTransaction(label, reason); + Long txnId = getTransactionId(dbId, label); + if (txnId == null) { + throw new AnalysisException("txn with label " + label + " does not exist"); + } + abortTransaction(dbId, txnId, reason); } public void abortTransaction2PC(Long dbId, long transactionId, List tableList) throws UserException {