This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new 4daa2028910 [improvement](transaction) txn prune memory after visible 
(#27128) (#28577)
4daa2028910 is described below

commit 4daa2028910933fc5922ff80b930b5475cd2cf83
Author: yujun <[email protected]>
AuthorDate: Tue Dec 19 13:59:48 2023 +0800

    [improvement](transaction) txn prune memory after visible (#27128) (#28577)
---
 .../java/org/apache/doris/transaction/PublishVersionDaemon.java     | 1 +
 .../main/java/org/apache/doris/transaction/TransactionState.java    | 6 ++++++
 2 files changed, 7 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java
 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java
index cdcc59c7861..d5d72869117 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java
@@ -168,6 +168,7 @@ public class PublishVersionDaemon extends MasterDaemon {
                 for (PublishVersionTask task : 
transactionState.getPublishVersionTasks().values()) {
                     AgentTaskQueue.removeTask(task.getBackendId(), 
TTaskType.PUBLISH_VERSION, task.getSignature());
                 }
+                transactionState.pruneAfterVisible();
                 if (MetricRepo.isInit) {
                     long publishTime = 
transactionState.getLastPublishVersionTime() - transactionState.getCommitTime();
                     MetricRepo.HISTO_TXN_PUBLISH_LATENCY.update(publishTime);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
index 17e9f53d609..9e2054f553e 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionState.java
@@ -748,6 +748,12 @@ public class TransactionState implements Writable {
         return this.errMsg;
     }
 
+    // reduce memory
+    public void pruneAfterVisible() {
+        publishVersionTasks.clear();
+        tableIdToTotalNumDeltaRows.clear();
+    }
+
     public void setSchemaForPartialUpdate(OlapTable olapTable) {
         // the caller should hold the read lock of the table
         isPartialUpdate = true;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to