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 9d5ebd6f34c [fix](export) make sure the export task being executed 
after writing "create export job" edit log #43250 (#43291)
9d5ebd6f34c is described below

commit 9d5ebd6f34cfea6fd319723fe1a924219fd70d40
Author: Mingyu Chen (Rayner) <morning...@163.com>
AuthorDate: Wed Nov 6 09:47:14 2024 +0800

    [fix](export) make sure the export task being executed after writing 
"create export job" edit log #43250 (#43291)
    
    cherry-pick #43250
---
 fe/fe-core/src/main/java/org/apache/doris/load/ExportJob.java | 2 ++
 fe/fe-core/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 e04472f43df..d0e35ac6ece 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 @@ public class ExportJob implements Writable {
             return;
         }
         Env.getCurrentEnv().getEditLog().logExportUpdateState(this, 
ExportJobState.CANCELLED);
+        LOG.info("cancel export job {}", id);
     }
 
     private void exportExportJob() {
@@ -752,6 +753,7 @@ public class ExportJob implements Writable {
         // 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 876dcf9def4..12791ba8b7e 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 class ExportMgr {
                 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 class ExportMgr {
     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());


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to