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

caishunfeng pushed a commit to branch 2.0.4-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/2.0.4-prepare by this push:
     new a322f9c  [Fix-8316][Master] Stop dependent node error (#8323)
a322f9c is described below

commit a322f9cf279325ad0c407a392d168053636a421c
Author: xiangzihao <[email protected]>
AuthorDate: Wed Feb 9 19:35:56 2022 +0800

    [Fix-8316][Master] Stop dependent node error (#8323)
    
    * fix bug_8316
    
    * fix bug_8316
    
    * fix bug_8316
---
 .../master/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 0e9a0b9..3a5f3e9 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);

Reply via email to