From db3b753e09047884cd3608fe1cd426be3d54e20a Mon Sep 17 00:00:00 2001 From: morningman Date: Tue, 5 Nov 2024 14:18:16 +0800 Subject: [PATCH] [fix](export) check export NPE --- .../src/main/java/org/apache/doris/load/ExportJob.java | 2 ++ .../src/main/java/org/apache/doris/load/ExportMgr.java | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) 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 e04472f43dffbf..d0e35ac6ece422 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 @@ -709,6 +709,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() { @@ -752,6 +753,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 876dcf9def49e9..12791ba8b7e603 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 @@ -111,14 +111,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 { @@ -466,6 +469,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());