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 a1a5b96125..250f2c5666 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 @@ -173,6 +173,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 17e9f53d60..9e2054f553 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;