This is an automated email from the ASF dual-hosted git repository.

yiguolei pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new cd5dfae1463 [improvement](statistics)Only write editlog for manual 
analyze task, don't need to do so for auto tasks. #29685 (#29714)
cd5dfae1463 is described below

commit cd5dfae1463c1f4f009c0d309b7ad95a132324fa
Author: Jibing-Li <[email protected]>
AuthorDate: Tue Jan 9 16:41:55 2024 +0800

    [improvement](statistics)Only write editlog for manual analyze task, don't 
need to do so for auto tasks. #29685 (#29714)
    
    Only write editlog for manual analyze task, don't need to do so for auto 
tasks to reduce writing editlog.
    Add error message to job info while task failed.
---
 .../java/org/apache/doris/statistics/AnalysisManager.java     | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java
index 7c246b45875..8db50e667f6 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java
@@ -483,7 +483,12 @@ public class AnalysisManager implements Writable {
         if (taskState.equals(AnalysisState.FINISHED) || 
taskState.equals(AnalysisState.FAILED)) {
             info.timeCostInMs = time - info.lastExecTimeInMs;
             info.lastExecTimeInMs = time;
-            logCreateAnalysisTask(info);
+            // Persist task info for manual job.
+            if (info.jobType.equals(JobType.MANUAL)) {
+                logCreateAnalysisTask(info);
+            } else {
+                replayCreateAnalysisTask(info);
+            }
         }
         info.lastExecTimeInMs = time;
         AnalysisInfo job = analysisJobInfoMap.get(info.jobId);
@@ -494,6 +499,10 @@ public class AnalysisManager implements Writable {
         // Synchronize the job state change in job level.
         synchronized (job) {
             job.lastExecTimeInMs = time;
+            if (taskState.equals(AnalysisState.FAILED)) {
+                String errMessage = String.format("%s:[%s] ", info.colName, 
message);
+                job.message = job.message == null ? errMessage : job.message + 
errMessage;
+            }
             // Set the job state to RUNNING when its first task becomes 
RUNNING.
             if (info.state.equals(AnalysisState.RUNNING) && 
job.state.equals(AnalysisState.PENDING)) {
                 job.state = AnalysisState.RUNNING;


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to