This is an automated email from the ASF dual-hosted git repository. morningman 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 9e7a1c9ae8d [fix](export) fix potential export concurrency issue #43109 (#43117) 9e7a1c9ae8d is described below commit 9e7a1c9ae8d60c47dfbb4c4d853a04f358fec1e6 Author: Mingyu Chen (Rayner) <morning...@163.com> AuthorDate: Sat Nov 2 08:53:43 2024 +0800 [fix](export) fix potential export concurrency issue #43109 (#43117) bp #43109 --- fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java | 2 +- fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java | 4 ++-- fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java | 4 +--- .../org/apache/doris/nereids/trees/plans/commands/ExportCommand.java | 2 +- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java index 855379cbc37..581dff1917b 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/ExportStmt.java @@ -208,7 +208,7 @@ public class ExportStmt extends StatementBase { } private void setJob() throws UserException { - exportJob = new ExportJob(); + exportJob = new ExportJob(Env.getCurrentEnv().getNextId()); Database db = Env.getCurrentInternalCatalog().getDbOrDdlException(this.tblName.getDb()); exportJob.setDbId(db.getId()); diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java index 21df83c1192..e04472f43df 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java @@ -397,8 +397,8 @@ public class ExportJob implements Writable { return statementBase; } - public List<? extends TransientTaskExecutor> getTaskExecutors() { - return jobExecutorList; + public List<? extends TransientTaskExecutor> getCopiedTaskExecutors() { + return Lists.newArrayList(jobExecutorList); } private void generateExportJobExecutor() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java index 2c0a6ec5916..876dcf9def4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/ExportMgr.java @@ -95,8 +95,6 @@ public class ExportMgr { } public void addExportJobAndRegisterTask(ExportJob job) throws Exception { - long jobId = Env.getCurrentEnv().getNextId(); - job.setId(jobId); writeLock(); try { if (dbTolabelToExportJobId.containsKey(job.getDbId()) @@ -113,7 +111,7 @@ public class ExportMgr { BrokerUtil.deleteDirectoryWithFileSystem(fullPath.substring(0, fullPath.lastIndexOf('/') + 1), job.getBrokerDesc()); } - job.getTaskExecutors().forEach(executor -> { + job.getCopiedTaskExecutors().forEach(executor -> { Env.getCurrentEnv().getTransientTaskManager().addMemoryTask(executor); }); Env.getCurrentEnv().getEditLog().logExportCreate(job); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java index 263bf43e355..fd5d604c520 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExportCommand.java @@ -241,7 +241,7 @@ public class ExportCommand extends Command implements ForwardWithSync { private ExportJob generateExportJob(ConnectContext ctx, Map<String, String> fileProperties, TableName tblName) throws UserException { - ExportJob exportJob = new ExportJob(); + ExportJob exportJob = new ExportJob(Env.getCurrentEnv().getNextId()); // set export job and check catalog/db/table CatalogIf catalog = ctx.getEnv().getCatalogMgr().getCatalogOrAnalysisException(tblName.getCtl()); DatabaseIf db = catalog.getDbOrAnalysisException(tblName.getDb()); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org