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

dataroaring 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 72681259b9e [improve](restore) Release useless info for the finished 
job to reduce mem usage (#34556)
72681259b9e is described below

commit 72681259b9eca9994907fb6f58e7c3b0bf50e957
Author: walter <w41te...@gmail.com>
AuthorDate: Wed May 8 21:52:13 2024 +0800

    [improve](restore) Release useless info for the finished job to reduce mem 
usage (#34556)
    
    Cherry-pick #34513
---
 .../main/java/org/apache/doris/backup/BackupJobInfo.java   | 14 ++++++++++++++
 .../java/org/apache/doris/backup/RestoreFileMapping.java   |  5 +++++
 .../src/main/java/org/apache/doris/backup/RestoreJob.java  |  5 +++++
 3 files changed, 24 insertions(+)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupJobInfo.java 
b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupJobInfo.java
index 1df5f7d9d09..85f801c8680 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/backup/BackupJobInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/backup/BackupJobInfo.java
@@ -779,6 +779,20 @@ public class BackupJobInfo implements Writable {
         return getBrief();
     }
 
+    public void releaseSnapshotInfo() {
+        tabletBeMap.clear();
+        tabletSnapshotPathMap.clear();
+        for (BackupOlapTableInfo tableInfo : backupOlapTableObjects.values()) {
+            for (BackupPartitionInfo partInfo : tableInfo.partitions.values()) 
{
+                for (BackupIndexInfo indexInfo : partInfo.indexes.values()) {
+                    for (BackupTabletInfo tabletInfo : 
indexInfo.sortedTabletInfoList) {
+                        tabletInfo.files.clear();
+                    }
+                }
+            }
+        }
+    }
+
     public static BackupJobInfo read(DataInput in) throws IOException {
         return BackupJobInfo.readFields(in);
     }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java 
b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java
index bcc3b7477bb..07ddf6844dc 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreFileMapping.java
@@ -156,6 +156,11 @@ public class RestoreFileMapping implements Writable {
         return mapping;
     }
 
+    public void clear() {
+        mapping.clear();
+        overwriteMap.clear();
+    }
+
     @Override
     public void write(DataOutput out) throws IOException {
         out.writeInt(mapping.size());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java 
b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java
index 8a79050e8a1..e7e527a7612 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/backup/RestoreJob.java
@@ -1753,6 +1753,8 @@ public class RestoreJob extends AbstractJob {
             releaseSnapshots();
 
             snapshotInfos.clear();
+            fileMapping.clear();
+            jobInfo.releaseSnapshotInfo();
 
             finishedTime = System.currentTimeMillis();
             state = RestoreJobState.FINISHED;
@@ -1945,6 +1947,9 @@ public class RestoreJob extends AbstractJob {
             releaseSnapshots();
 
             snapshotInfos.clear();
+            fileMapping.clear();
+            jobInfo.releaseSnapshotInfo();
+
             RestoreJobState curState = state;
             finishedTime = System.currentTimeMillis();
             state = RestoreJobState.CANCELLED;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to