This is an automated email from the ASF dual-hosted git repository. morningman pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 17056dcdb99 [Fix](multi-catalog) Fix the transaction is not removed in abnormal situations by removing transaction in finally block. (#37172) 17056dcdb99 is described below commit 17056dcdb9972ccc531c5a55451a736da44e3e82 Author: Qi Chen <kaka11.c...@gmail.com> AuthorDate: Wed Jul 3 10:56:41 2024 +0800 [Fix](multi-catalog) Fix the transaction is not removed in abnormal situations by removing transaction in finally block. (#37172) Backport #36705. --- .../java/org/apache/doris/transaction/HiveTransactionManager.java | 7 +++++-- .../org/apache/doris/transaction/IcebergTransactionManager.java | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/HiveTransactionManager.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/HiveTransactionManager.java index 838d135fa45..c48210ad452 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/HiveTransactionManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/HiveTransactionManager.java @@ -59,8 +59,11 @@ public class HiveTransactionManager implements TransactionManager { @Override public void rollback(long id) { - getTransactionWithException(id).rollback(); - transactions.remove(id); + try { + getTransactionWithException(id).rollback(); + } finally { + transactions.remove(id); + } } @Override diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/IcebergTransactionManager.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/IcebergTransactionManager.java index 3d6486f9391..4f4fe956d4b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/IcebergTransactionManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/IcebergTransactionManager.java @@ -50,8 +50,11 @@ public class IcebergTransactionManager implements TransactionManager { @Override public void rollback(long id) { - getTransactionWithException(id).rollback(); - transactions.remove(id); + try { + getTransactionWithException(id).rollback(); + } finally { + transactions.remove(id); + } } @Override --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org