skymsg commented on a change in pull request #5665:
URL: https://github.com/apache/dolphinscheduler/pull/5665#discussion_r663651632



##########
File path: 
dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/worker/task/AbstractCommandExecutor.java
##########
@@ -207,17 +203,10 @@ public CommandExecuteResult run(String execCommand) 
throws Exception {
 
         // if SHELL task exit
         if (status) {
-            // set appIds
-            List<String> appIds = getAppIds(taskExecutionContext.getLogPath());
-            result.setAppIds(String.join(Constants.COMMA, appIds));
 
             // SHELL task state
             result.setExitStatusCode(process.exitValue());
 
-            // if yarn task , yarn state is final state
-            if (process.exitValue() == 0) {
-                result.setExitStatusCode(isSuccessOfYarnState(appIds) ? 
EXIT_CODE_SUCCESS : EXIT_CODE_FAILURE);
-            }
         } else {
             logger.error("process has failure , exitStatusCode:{}, 
processExitValue:{}, ready to kill ...",
                  result.getExitStatusCode(), process.exitValue());

Review comment:
       just remove the  killYarnJob call from kill method maybe  enough .
   ```java
     public static void kill(TaskExecutionContext taskExecutionContext) {
         try {
             int processId = taskExecutionContext.getProcessId();
             if (processId == 0) {
                 logger.error("process kill failed, process id :{}, task id:{}",
                         processId, taskExecutionContext.getTaskInstanceId());
                 return;
             }
   
             String pidsStr = getPidsStr(processId);
             if (StringUtils.isNotEmpty(pidsStr)) {
                 String cmd = String.format("kill -9 %s", pidsStr);
                 cmd = OSUtils.getSudoCmd(taskExecutionContext.getTenantCode(), 
cmd);
                 logger.info("process id:{}, cmd:{}", processId, cmd);
                 OSUtils.exeCmd(cmd);
             }
   
         } catch (Exception e) {
             logger.error("kill task failed", e);
         }
         // find log and kill yarn job
         killYarnJob(taskExecutionContext);
    }
   ```
   I found  the TaskExecuteThread would call the cancelApplication to kill the 
yarn job  when AbstractYarnTask handle  method throws Exception.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to