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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]