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 838d135fa45769..c48210ad452ad9 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 void commit(long id) throws UserException { @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 f4b802aaa99334..f373c13368558f 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 @@ -51,8 +51,11 @@ public void commit(long id) throws UserException { @Override public void rollback(long id) { - getTransactionWithException(id).rollback(); - transactions.remove(id); + try { + getTransactionWithException(id).rollback(); + } finally { + transactions.remove(id); + } } @Override