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]