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

rarexixi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/linkis.git


The following commit(s) were added to refs/heads/master by this push:
     new b5453a267 Fix linkis cli async exeute throw npe (#4870)
b5453a267 is described below

commit b5453a2672db5799e3f40653e28ff27f76963a7b
Author: peacewong <[email protected]>
AuthorDate: Fri Sep 1 19:07:34 2023 +0800

    Fix linkis cli async exeute throw npe (#4870)
    
    * Fix linkis cli async exeute throw npe close #4869
    
    * Optimize Code
---
 .../interactor/job/interactive/InteractiveJob.java        | 15 +++++++++++++--
 .../apache/linkis/manager/am/restful/EMRestfulApi.java    |  6 ++++--
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/interactor/job/interactive/InteractiveJob.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/interactor/job/interactive/InteractiveJob.java
index 9e1733ccf..a097b1b25 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/interactor/job/interactive/InteractiveJob.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/interactor/job/interactive/InteractiveJob.java
@@ -41,6 +41,7 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 
 import java.util.HashMap;
+import java.util.Map;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -116,7 +117,7 @@ public class InteractiveJob implements Job {
     // async job, return
     if (isAsync) {
       return new InteractiveJobResult(
-          submitResult.getJobStatus().isJobSubmitted(),
+          jobInfoResult.getJobStatus().isJobSubmitted(),
           "Async Submission Success",
           new HashMap<>());
     }
@@ -171,7 +172,14 @@ public class InteractiveJob implements Job {
               "Job status is not success but \'"
                   + jobInfoResult.getJobStatus()
                   + "\'. Will not try to retrieve any Result");
-      return new InteractiveJobResult(false, "Execute Error!!!", new 
HashMap<>());
+      Map<String, String> extraMap = new HashMap<>();
+      if (jobInfoResult.getErrCode() != null) {
+        extraMap.put("errorCode", String.valueOf(jobInfoResult.getErrCode()));
+      }
+      if (StringUtils.isNotBlank(jobInfoResult.getErrDesc())) {
+        extraMap.put("errorDesc", jobInfoResult.getErrDesc());
+      }
+      return new InteractiveJobResult(false, "Execute Error!!!", extraMap);
     }
     InteractiveJobResult result =
         new InteractiveJobResult(true, "Execute Success!!!", new HashMap<>());
@@ -246,6 +254,9 @@ public class InteractiveJob implements Job {
       logger.warn("Failed to kill job username or jobId is blank");
       return;
     }
+    if (isAsync) {
+      return;
+    }
     try {
       new JobKiller(oper).doKill(username, jobId);
     } catch (Exception e) {
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
index c0da8cde2..4d5cb480d 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EMRestfulApi.java
@@ -359,9 +359,11 @@ public class EMRestfulApi {
           "Fail to process the operation parameters, cased by "
               + ExceptionUtils.getRootCauseMessage(e));
     }
-    String engineConnInstance = (String) parameters.get("engineConnInstance");
+
     return executeECMOperation(
-        ecmNode, engineConnInstance, new ECMOperateRequest(userName, 
parameters));
+        ecmNode,
+        parameters.getOrDefault("engineConnInstance", "").toString(),
+        new ECMOperateRequest(userName, parameters));
   }
 
   @ApiOperation(value = "openEngineLog", notes = "open Engine log", response = 
Message.class)


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to