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

casion 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 3b16e8eb4 Fix linkis-cli once job to submit by once mode #4770
3b16e8eb4 is described below

commit 3b16e8eb4250a3f1cf0f496a5b0f2e8789b6cd56
Author: peacewong <[email protected]>
AuthorDate: Thu Jul 13 21:09:07 2023 +0800

    Fix linkis-cli once job to submit by once mode #4770
---
 .../apache/linkis/cli/application/LinkisClientApplication.java    | 7 ++++++-
 .../apache/linkis/cli/application/operator/once/OnceJobOper.java  | 8 ++++++--
 .../linkis/cli/application/operator/once/OnceOperBuilder.java     | 1 +
 .../java/org/apache/linkis/manager/am/restful/EMRestfulApi.java   | 2 +-
 .../org/apache/linkis/manager/am/restful/EngineRestfulApi.java    | 3 +++
 5 files changed, 17 insertions(+), 4 deletions(-)

diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/LinkisClientApplication.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/LinkisClientApplication.java
index 43c350841..f13c7399f 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/LinkisClientApplication.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/LinkisClientApplication.java
@@ -37,6 +37,7 @@ import 
org.apache.linkis.cli.application.present.model.HelpInfoModel;
 import org.apache.linkis.cli.application.utils.LoggerManager;
 import org.apache.linkis.cli.application.utils.SchedulerManager;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.exception.ExceptionUtils;
 
 import java.util.HashMap;
@@ -144,6 +145,7 @@ public class LinkisClientApplication {
       LoggerManager.getPlaintTextLogger().info(CliConstants.SUCCESS_INDICATOR);
     } else {
       LoggerManager.getPlaintTextLogger().info(CliConstants.FAILURE_INDICATOR);
+      LoggerManager.getPlaintTextLogger().error(jobResult.getMessage());
     }
   }
 
@@ -160,6 +162,9 @@ public class LinkisClientApplication {
   }
 
   private static Boolean isOnceCmd(CliCtx ctx) {
-    return false;
+    String mode =
+        ctx.getVarAccess()
+            .getVarOrDefault(String.class, CliKeys.LINKIS_CLIENT_MODE_OPT, 
CliConstants.UJES_MODE);
+    return StringUtils.equalsIgnoreCase(mode, CliConstants.ONCE_MODE);
   }
 }
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceJobOper.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceJobOper.java
index 85e2c1663..afe2f6699 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceJobOper.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceJobOper.java
@@ -38,7 +38,7 @@ import 
org.apache.linkis.computation.client.operator.impl.EngineConnLogs;
 import org.apache.commons.lang3.StringUtils;
 
 public class OnceJobOper implements JobOper {
-  LinkisJobStatus jobStatus = LinkisJobStatus.UNSUBMITTED;
+
   EngineConnLogOperator logOperator = null;
   private SimpleOnceJob onceJob;
   private String serverUrl;
@@ -113,7 +113,9 @@ public class OnceJobOper implements JobOper {
 
   public void kill() {
     panicIfNull(onceJob);
-    onceJob.kill();
+    if (!getStatus().isJobFinishedState()) {
+      onceJob.kill();
+    }
   }
 
   public String getJobID() {
@@ -153,6 +155,8 @@ public class OnceJobOper implements JobOper {
     for (String log : logs.logs()) {
       logBuilder.append(log).append(System.lineSeparator());
     }
+    String status = onceJob.getStatus();
+    LinkisJobStatus jobStatus = 
LinkisJobStatus.convertFromNodeStatusString(status);
     if ((logs.logs() == null || logs.logs().size() <= 0) && 
jobStatus.isJobFinishedState()) {
       isLogFin = true;
     }
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceOperBuilder.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceOperBuilder.java
index 299ce3e26..906fc0340 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceOperBuilder.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/src/main/java/org/apache/linkis/cli/application/operator/once/OnceOperBuilder.java
@@ -150,6 +150,7 @@ public class OnceOperBuilder implements JobOperBuilder {
     sourceMap.put(LinkisKeys.KEY_SCRIPT_PATH, scriptPath);
     runtimeMap.put(LinkisKeys.KEY_HIVE_RESULT_DISPLAY_TBALE, true);
 
+    desc.setVarAccess(ctx.getVarAccess());
     desc.setCreator(creator);
     desc.setParamConfMap(confMap);
     desc.setParamRunTimeMap(runtimeMap);
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 82bf4d4d7..c0da8cde2 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
@@ -451,7 +451,7 @@ public class EMRestfulApi {
       ECResourceInfoRecord ecResourceInfoRecord =
           
ecResourceInfoService.getECResourceInfoRecordByInstance(engineInstance);
       if (Objects.isNull(ecResourceInfoRecord)) {
-        return Message.error("ECM instance: " + ecmNode.getServiceInstance() + 
" not exist ");
+        return Message.error("EC instance: " + engineInstance + " not exist ");
       }
       ecmOperateRequest.getParameters().put("logDirSuffix", 
ecResourceInfoRecord.getLogDirSuffix());
     }
diff --git 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
index fd38d62a2..3d6e0bc39 100644
--- 
a/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
+++ 
b/linkis-computation-governance/linkis-manager/linkis-application-manager/src/main/java/org/apache/linkis/manager/am/restful/EngineRestfulApi.java
@@ -207,6 +207,9 @@ public class EngineRestfulApi {
     String userName = ModuleUserUtils.getOperationUser(req, "killEngineConn:" 
+ serviceInstance);
     logger.info("User {} try to kill engineConn {}.", userName, 
serviceInstance);
     EngineNode engineNode = engineNodeManager.getEngineNode(serviceInstance);
+    if (null == engineNode) {
+      return Message.ok("EC has exited");
+    }
     if (!userName.equals(engineNode.getOwner()) && 
Configuration.isNotAdmin(userName)) {
       return Message.error("You have no permission to kill EngineConn " + 
serviceInstance);
     }


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

Reply via email to