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
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 82064902c0f branch-2.1: [Bug] Fix accidental table deletion during restore job #48820 (#49498) 82064902c0f is described below commit 82064902c0f6486b8b05c1c38f437bc3e4a6b401 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> AuthorDate: Sat Mar 29 20:26:12 2025 +0800 branch-2.1: [Bug] Fix accidental table deletion during restore job #48820 (#49498) Cherry-picked from #48820 Co-authored-by: wubiao <biao...@aliyun.com> Co-authored-by: wubiao02 <wubia...@meituan.com> --- .../src/main/java/org/apache/doris/backup/RestoreJob.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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 d812b6b18f4..de9f2b3b7a8 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 @@ -664,6 +664,9 @@ public class RestoreJob extends AbstractJob { // Check and prepare meta objects. Map<Long, AgentBatchTask> batchTaskPerTable = new HashMap<>(); + + // The tables that are restored but not committed, because the table name may be changed. + List<Table> stagingRestoreTables = Lists.newArrayList(); db.readLock(); try { for (Map.Entry<String, BackupOlapTableInfo> olapTableEntry : jobInfo.backupOlapTableObjects.entrySet()) { @@ -846,7 +849,7 @@ public class RestoreJob extends AbstractJob { if (LOG.isDebugEnabled()) { LOG.debug("put remote table {} to restoredTbls", remoteOlapTbl.getName()); } - restoredTbls.add(remoteOlapTbl); + stagingRestoreTables.add(remoteOlapTbl); } } // end of all restore olap tables @@ -875,7 +878,7 @@ public class RestoreJob extends AbstractJob { String srcDbName = jobInfo.dbName; remoteView.resetViewDefForRestore(srcDbName, db.getName()); remoteView.resetIdsForRestore(env); - restoredTbls.add(remoteView); + stagingRestoreTables.add(remoteView); } } @@ -896,7 +899,7 @@ public class RestoreJob extends AbstractJob { } } else { remoteOdbcTable.resetIdsForRestore(env); - restoredTbls.add(remoteOdbcTable); + stagingRestoreTables.add(remoteOdbcTable); } } @@ -929,7 +932,7 @@ public class RestoreJob extends AbstractJob { } // generate create replica task for all restored tables - for (Table restoreTbl : restoredTbls) { + for (Table restoreTbl : stagingRestoreTables) { if (restoreTbl.getType() == TableType.OLAP) { OlapTable restoreOlapTable = (OlapTable) restoreTbl; for (Partition restorePart : restoreOlapTable.getPartitions()) { @@ -955,6 +958,7 @@ public class RestoreJob extends AbstractJob { tableName = tableAliasWithAtomicRestore(tableName); } restoreTbl.setName(tableName); + restoredTbls.add(restoreTbl); } if (LOG.isDebugEnabled()) { --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org