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) <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]