This is an automated email from the ASF dual-hosted git repository.
kerwin 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 629fced9ef Fix task log appender will not be closed immediate after
throwing exception (#14989)
629fced9ef is described below
commit 629fced9efa0724463bcfe9410486d79af482a2a
Author: Wenjun Ruan <[email protected]>
AuthorDate: Sun Oct 8 09:19:02 2023 +0800
Fix task log appender will not be closed immediate after throwing exception
(#14989)
---
.../server/master/runner/execute/MasterTaskExecuteRunnable.java | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/execute/MasterTaskExecuteRunnable.java
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/execute/MasterTaskExecuteRunnable.java
index 5fa1364616..9e08c1a4d2 100644
---
a/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/execute/MasterTaskExecuteRunnable.java
+++
b/dolphinscheduler-master/src/main/java/org/apache/dolphinscheduler/server/master/runner/execute/MasterTaskExecuteRunnable.java
@@ -55,9 +55,10 @@ public abstract class MasterTaskExecuteRunnable implements
Runnable {
protected abstract void afterExecute() throws MasterTaskExecuteException;
protected void afterThrowing(Throwable throwable) {
+ TaskInstanceLogHeader.printFinalizeTaskHeader();
try {
+ log.error("Get a exception when execute the task, will try to
cancel the task", throwable);
cancelTask();
- log.error("Get a exception when execute the task, canceled the
task", throwable);
} catch (Exception e) {
log.error("Cancel task failed,", e);
}
@@ -69,6 +70,7 @@ public abstract class MasterTaskExecuteRunnable implements
Runnable {
MasterTaskExecutionContextHolder.removeTaskExecutionContext(taskExecutionContext.getTaskInstanceId());
MasterTaskExecuteRunnableHolder.removeMasterTaskExecuteRunnable(taskExecutionContext.getTaskInstanceId());
log.info("Get a exception when execute the task, removed the
TaskExecutionContext");
+ closeLogAppender();
}
public void cancelTask() throws MasterTaskExecuteException {
@@ -111,7 +113,6 @@ public abstract class MasterTaskExecuteRunnable implements
Runnable {
} catch (Throwable ex) {
log.error("Task execute failed, due to meet an exception", ex);
afterThrowing(ex);
- closeLogAppender();
} finally {
LogUtils.removeWorkflowAndTaskInstanceIdMDC();
LogUtils.removeTaskInstanceLogFullPathMDC();