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]
