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

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

commit d038d3bf212c25142a37c23d4a04560eb256a6d9
Author: walter <[email protected]>
AuthorDate: Wed May 8 19:28:32 2024 +0800

    [improve](restore) Release useless info for the finished job to reduce mem 
usage (#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 c24d6c03295..7108315cee7 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
@@ -788,6 +788,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 9dce692d170..5eb4950466f 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
@@ -1801,6 +1801,8 @@ public class RestoreJob extends AbstractJob {
             releaseSnapshots();
 
             snapshotInfos.clear();
+            fileMapping.clear();
+            jobInfo.releaseSnapshotInfo();
 
             finishedTime = System.currentTimeMillis();
             state = RestoreJobState.FINISHED;
@@ -1993,6 +1995,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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to