This is an automated email from the ASF dual-hosted git repository.
leonbao pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git
The following commit(s) were added to refs/heads/dev by this push:
new be15832 [Bug #6306][Worker] task log path generated error. (#6338)
be15832 is described below
commit be158328fb985af3a63ae79762d1e4ab88bbd48e
Author: Kirs <[email protected]>
AuthorDate: Fri Sep 24 19:55:11 2021 +0800
[Bug #6306][Worker] task log path generated error. (#6338)
---
.../server/worker/runner/TaskExecuteThread.java | 7 +++++++
.../apache/dolphinscheduler/spi/task/request/TaskRequest.java | 11 +++++++++++
.../plugin/task/api/AbstractTaskExecutor.java | 2 +-
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
index 19dedb9..383c3cd 100644
---
a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
+++
b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/runner/TaskExecuteThread.java
@@ -29,6 +29,7 @@ import org.apache.dolphinscheduler.common.utils.CommonUtils;
import org.apache.dolphinscheduler.common.utils.DateUtils;
import org.apache.dolphinscheduler.common.utils.HadoopUtils;
import org.apache.dolphinscheduler.common.utils.JSONUtils;
+import org.apache.dolphinscheduler.common.utils.LoggerUtils;
import org.apache.dolphinscheduler.common.utils.OSUtils;
import org.apache.dolphinscheduler.common.utils.RetryerUtils;
import org.apache.dolphinscheduler.dao.entity.TaskInstance;
@@ -185,6 +186,12 @@ public class TaskExecuteThread implements Runnable,
Delayed {
throw new PluginNotFoundException(String.format("%s Task
Plugin Not Found,Please Check Config File.",
taskExecutionContext.getTaskType()));
}
TaskRequest taskRequest =
JSONUtils.parseObject(JSONUtils.toJsonString(taskExecutionContext),
TaskRequest.class);
+ String taskLogName =
LoggerUtils.buildTaskId(LoggerUtils.TASK_LOGGER_INFO_PREFIX,
+ taskExecutionContext.getProcessDefineCode(),
+ taskExecutionContext.getProcessDefineVersion(),
+ taskExecutionContext.getProcessInstanceId(),
+ taskExecutionContext.getTaskInstanceId());
+ taskRequest.setTaskLogName(taskLogName);
task = taskChannel.createTask(taskRequest);
// task init
diff --git
a/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/task/request/TaskRequest.java
b/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/task/request/TaskRequest.java
index 6a4aac6..3f0f901 100644
---
a/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/task/request/TaskRequest.java
+++
b/dolphinscheduler-spi/src/main/java/org/apache/dolphinscheduler/spi/task/request/TaskRequest.java
@@ -178,7 +178,18 @@ public class TaskRequest {
*/
private int delayTime;
+ /**
+ * Task Logger name should be like:
Task-{processDefinitionId}-{processInstanceId}-{taskInstanceId}
+ */
+ private String taskLogName;
+ public String getTaskLogName() {
+ return taskLogName;
+ }
+
+ public void setTaskLogName(String taskLogName) {
+ this.taskLogName = taskLogName;
+ }
/**
* resources full name and tenant code
diff --git
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskExecutor.java
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskExecutor.java
index 01b8582..e572418 100644
---
a/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskExecutor.java
+++
b/dolphinscheduler-task-plugin/dolphinscheduler-task-api/src/main/java/org/apache/dolphinscheduler/plugin/task/api/AbstractTaskExecutor.java
@@ -41,7 +41,7 @@ public abstract class AbstractTaskExecutor extends
AbstractTask {
*/
protected AbstractTaskExecutor(TaskRequest taskRequest) {
super(taskRequest);
- logger = LoggerFactory.getLogger(taskRequest.getLogPath());
+ logger = LoggerFactory.getLogger(taskRequest.getTaskLogName());
}
/**