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 0a07b5b6851eac..584e41d887bf02 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 @@ -707,6 +707,7 @@ private void cancelExportJobUnprotected(ExportFailMsg.CancelType type, String ms return; } Env.getCurrentEnv().getEditLog().logExportUpdateState(this, ExportJobState.CANCELLED); + LOG.info("cancel export job {}", id); } private void exportExportJob() { @@ -750,6 +751,7 @@ private void finishExportJobUnprotected() { // Clear the jobExecutorList to release memory. jobExecutorList.clear(); Env.getCurrentEnv().getEditLog().logExportUpdateState(this, ExportJobState.FINISHED); + LOG.info("finish export job {}", id); } public void replayExportJobState(ExportJobState newState) { 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 94f43d531bb1f1..49ebbfe7dcddb0 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 @@ -115,14 +115,17 @@ public void addExportJobAndRegisterTask(ExportJob job) throws Exception { BrokerUtil.deleteDirectoryWithFileSystem(fullPath.substring(0, fullPath.lastIndexOf('/') + 1), job.getBrokerDesc()); } + Env.getCurrentEnv().getEditLog().logExportCreate(job); + // ATTN: Must add task after edit log, otherwise the job may finish before adding job. job.getCopiedTaskExecutors().forEach(executor -> { Env.getCurrentEnv().getTransientTaskManager().addMemoryTask(executor); }); - Env.getCurrentEnv().getEditLog().logExportCreate(job); + LOG.info("add export job. {}", job); + } finally { writeUnlock(); } - LOG.info("add export job. {}", job); + } public void cancelExportJob(CancelExportStmt stmt) throws DdlException, AnalysisException { @@ -470,6 +473,7 @@ public void replayCreateExportJob(ExportJob job) { public void replayUpdateJobState(ExportJobStateTransfer stateTransfer) { writeLock(); try { + LOG.info("replay update export job: {}, {}", stateTransfer.getJobId(), stateTransfer.getState()); ExportJob job = exportIdToJob.get(stateTransfer.getJobId()); job.replayExportJobState(stateTransfer.getState()); job.setStartTimeMs(stateTransfer.getStartTimeMs());