From a322f9cf279325ad0c407a392d168053636a421c Mon Sep 17 00:00:00 2001 From: xiangzihao <460888207@qq.com> Date: Wed, 9 Feb 2022 19:35:56 +0800 Subject: [PATCH] [Fix-8316][Master] Stop dependent node error (#8323) * fix bug_8316 * fix bug_8316 * fix bug_8316 --- .../processor/queue/TaskResponsePersistThread.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/processor/queue/TaskResponsePersistThread.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/processor/queue/TaskResponsePersistThread.java index 0e9a0b9349..3a5f3e9628 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/processor/queue/TaskResponsePersistThread.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/processor/queue/TaskResponsePersistThread.java @@ -74,7 +74,7 @@ public class TaskResponsePersistThread implements Runnable { logger.error("persist meta error, task id:{}, instance id:{}", event.getTaskInstanceId(), event.getProcessInstanceId()); } } catch (Exception e) { - logger.error("persist error, task id:{}, instance id:{}", event.getTaskInstanceId(), event.getProcessInstanceId(), e); + logger.error("persist error, task id:{}, instance id:{}, error: {}", event.getTaskInstanceId(), event.getProcessInstanceId(), e); } finally { this.events.remove(event); } @@ -158,8 +158,12 @@ public class TaskResponsePersistThread implements Runnable { logger.debug("ACTION_STOP: task instance id:{}, process instance id:{}", taskResponseEvent.getTaskInstanceId(), taskResponseEvent.getProcessInstanceId()); } } - TaskKillAckCommand taskKillAckCommand = new TaskKillAckCommand(ExecutionStatus.SUCCESS.getCode(), taskResponseEvent.getTaskInstanceId()); - channel.writeAndFlush(taskKillAckCommand.convert2Command()); + + if (channel != null) { + TaskKillAckCommand taskKillAckCommand = new TaskKillAckCommand(ExecutionStatus.SUCCESS.getCode(), taskResponseEvent.getTaskInstanceId()); + channel.writeAndFlush(taskKillAckCommand.convert2Command()); + } + break; default: throw new IllegalArgumentException("invalid event type : " + event);