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

lidongdai pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 7a6b905  [Fix-#4716][mater,worker] The task execution path should be 
calculated by the worker, not the master (#4717)
7a6b905 is described below

commit 7a6b905597d974d1c3a3154aa21ec9cbf61e519f
Author: guohaozhang <[email protected]>
AuthorDate: Fri Feb 12 18:50:38 2021 +0800

    [Fix-#4716][mater,worker] The task execution path should be calculated by 
the worker, not the master (#4717)
    
    * [fix][api,mater,worker] 修复master 计算实际执行路径,worker上报实际执行路径
    
    * remove unused import
---
 .../server/builder/TaskExecutionContextBuilder.java        |  1 -
 .../server/master/consumer/TaskPriorityQueueConsumer.java  | 14 --------------
 .../server/worker/processor/TaskExecuteProcessor.java      |  1 +
 3 files changed, 1 insertion(+), 15 deletions(-)

diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/builder/TaskExecutionContextBuilder.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/builder/TaskExecutionContextBuilder.java
index 74b0635..7bfd9a0 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/builder/TaskExecutionContextBuilder.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/builder/TaskExecutionContextBuilder.java
@@ -44,7 +44,6 @@ public class TaskExecutionContextBuilder {
         taskExecutionContext.setStartTime(taskInstance.getStartTime());
         taskExecutionContext.setTaskType(taskInstance.getTaskType());
         taskExecutionContext.setLogPath(taskInstance.getLogPath());
-        taskExecutionContext.setExecutePath(taskInstance.getExecutePath());
         taskExecutionContext.setTaskJson(taskInstance.getTaskJson());
         taskExecutionContext.setWorkerGroup(taskInstance.getWorkerGroup());
         taskExecutionContext.setHost(taskInstance.getHost());
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
index 2325508..d7de840 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/consumer/TaskPriorityQueueConsumer.java
@@ -35,7 +35,6 @@ import 
org.apache.dolphinscheduler.common.task.sqoop.targets.TargetMysqlParamete
 import org.apache.dolphinscheduler.common.thread.Stopper;
 import org.apache.dolphinscheduler.common.utils.CollectionUtils;
 import org.apache.dolphinscheduler.common.utils.EnumUtils;
-import org.apache.dolphinscheduler.common.utils.FileUtils;
 import org.apache.dolphinscheduler.common.utils.JSONUtils;
 import org.apache.dolphinscheduler.common.utils.StringUtils;
 import org.apache.dolphinscheduler.common.utils.TaskParametersUtils;
@@ -222,7 +221,6 @@ public class TaskPriorityQueueConsumer extends Thread {
         String userQueue = 
processService.queryUserQueueByProcessInstanceId(taskInstance.getProcessInstanceId());
         
taskInstance.getProcessInstance().setQueue(StringUtils.isEmpty(userQueue) ? 
tenant.getQueue() : userQueue);
         
taskInstance.getProcessInstance().setTenantCode(tenant.getTenantCode());
-        taskInstance.setExecutePath(getExecLocalPath(taskInstance));
         taskInstance.setResources(getResourceFullNames(taskNode));
 
         SQLTaskExecutionContext sqlTaskExecutionContext = new 
SQLTaskExecutionContext();
@@ -364,18 +362,6 @@ public class TaskPriorityQueueConsumer extends Thread {
     }
 
     /**
-     * get execute local path
-     *
-     * @return execute local path
-     */
-    private String getExecLocalPath(TaskInstance taskInstance) {
-        return 
FileUtils.getProcessExecDir(taskInstance.getProcessDefine().getProjectId(),
-            taskInstance.getProcessDefine().getId(),
-            taskInstance.getProcessInstance().getId(),
-            taskInstance.getId());
-    }
-
-    /**
      * whehter tenant is null
      *
      * @param tenant       tenant
diff --git 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
index d8a6e2b..18971dd 100644
--- 
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
+++ 
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/processor/TaskExecuteProcessor.java
@@ -147,6 +147,7 @@ public class TaskExecuteProcessor implements 
NettyRequestProcessor {
         // local execute path
         String execLocalPath = getExecLocalPath(taskExecutionContext);
         logger.info("task instance  local execute path : {} ", execLocalPath);
+        taskExecutionContext.setExecutePath(execLocalPath);
 
         FileUtils.taskLoggerThreadLocal.set(taskLogger);
         try {

Reply via email to