You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by yi...@apache.org on 2025/12/29 09:26:10 UTC
(doris) branch branch-4.0 updated: branch-4.0: [Fix](cloud-mow) Fix Fe memory leak due to `txnLastSignatureMap` #59385 (#59419)
This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.0 by this push:
new f0b47431ee2 branch-4.0: [Fix](cloud-mow) Fix Fe memory leak due to `txnLastSignatureMap` #59385 (#59419)
f0b47431ee2 is described below
commit f0b47431ee290484d3e8d7c2e4caea54da8300c2
Author: github-actions[bot] <41...@users.noreply.github.com>
AuthorDate: Mon Dec 29 17:26:04 2025 +0800
branch-4.0: [Fix](cloud-mow) Fix Fe memory leak due to `txnLastSignatureMap` #59385 (#59419)
Cherry-picked from #59385
Co-authored-by: bobhan1 <ba...@selectdb.com>
---
.../apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
index 8c636ec678a..31a509a1c87 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
@@ -428,6 +428,8 @@ public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface {
}
commitTransactionWithoutLock(dbId, tableList, transactionId, tabletCommitInfos, txnCommitAttachment, false,
mowTableList, backendToPartitionInfos);
+ // clear signature after commit succeeds
+ clearTxnLastSignature(dbId, transactionId);
} catch (Exception e) {
if (!mowTableList.isEmpty()) {
LOG.warn("commit txn {} failed, release delete bitmap lock, catch exception {}", transactionId,
@@ -1476,6 +1478,8 @@ public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface {
}
commitTransactionWithSubTxns(db.getId(), tableList, transactionId, subTransactionStates, mowTableList,
backendToPartitionInfos);
+ // clear signature after commit succeeds
+ clearTxnLastSignature(db.getId(), transactionId);
} catch (Exception e) {
if (!mowTableList.isEmpty()) {
LOG.warn("commit txn {} failed, release delete bitmap lock, catch exception {}", transactionId,
@@ -1657,6 +1661,8 @@ public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface {
beforeCommitTransaction(tableList, transactionId, timeoutMillis);
try {
commitTransactionWithoutLock(db.getId(), tableList, transactionId, tabletCommitInfos, txnCommitAttachment);
+ // Only clear signature after commit succeeds, as BE may retry on failure
+ clearTxnLastSignature(db.getId(), transactionId);
} finally {
stopWatch.stop();
long costTimeMs = stopWatch.getTime();
@@ -1724,6 +1730,7 @@ public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface {
abortTxnResponse = abortTransactionImpl(dbId, transactionId, reason, null);
} finally {
handleAfterAbort(abortTxnResponse, txnCommitAttachment, transactionId);
+ clearTxnLastSignature(dbId, transactionId);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org