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

peacewong pushed a commit to branch dev-1.3.2
in repository https://gitbox.apache.org/repos/asf/incubator-linkis.git


The following commit(s) were added to refs/heads/dev-1.3.2 by this push:
     new a9e5de8ae linkis-cli-application - change output when there is no 
result (#3849)
a9e5de8ae is described below

commit a9e5de8ae96e5dec47dcaa694eec26865332c649
Author: 成彬彬 <[email protected]>
AuthorDate: Thu Nov 17 21:55:30 2022 +0800

    linkis-cli-application - change output when there is no result (#3849)
    
    Co-authored-by: alexkun <[email protected]>
---
 .../cli/application/interactor/job/LinkisManageJob.java     | 11 ++++++-----
 .../application/interactor/job/data/LinkisJobDataImpl.java  | 12 ++++++++++++
 .../application/interactor/job/data/LinkisOnceJobData.java  | 12 ++++++++++++
 .../application/interactor/job/data/LinkisResultData.java   |  4 ++++
 .../cli/application/operator/ujes/LinkisJobOperator.java    |  3 ---
 .../cli/application/present/LinkisResultPresenter.java      | 13 +++++++++----
 .../cli/application/present/model/LinkisResultModel.java    |  4 ++++
 7 files changed, 47 insertions(+), 12 deletions(-)

diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/LinkisManageJob.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/LinkisManageJob.java
index 156607502..7dbcaca88 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/LinkisManageJob.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/LinkisManageJob.java
@@ -352,14 +352,15 @@ public class LinkisManageJob extends LinkisJob
             .queryResultSetPaths(
                 resultData.getUser(), resultData.getJobID(), 
resultData.getResultLocation()));
     if (resultData.getResultSetPaths() == null || 
resultData.getResultSetPaths().length == 0) {
-      throw new LinkisClientExecutionException(
-          "EXE0039",
-          ErrorLevel.ERROR,
-          CommonErrMsg.ExecutionResultErr,
-          "Got null or empty ResultSetPaths");
+      String msg = "Your job got no result.";
+      logger.warn(msg);
+      resultData.sendResultFin(); // inform listener to stop
+      resultData.setHasResult(false);
+      return;
     }
 
     try {
+      resultData.setHasResult(true);
       Thread resultRetriever = new Thread(() -> queryResultLoop(resultData), 
"Result-Retriever");
       SchedulerUtils.getCachedThreadPoolExecutor().execute(resultRetriever);
     } catch (Exception e) {
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisJobDataImpl.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisJobDataImpl.java
index af5afc415..227e8c217 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisJobDataImpl.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisJobDataImpl.java
@@ -72,6 +72,8 @@ public class LinkisJobDataImpl
   private TriggerEvent resultFinEvent = new TriggerEvent();
   private TriggerEventListener resultFinListener = new TriggerEventListener();
 
+  private boolean hasResult = true;
+
   {
     logFinevent.register(logFinListener);
     resultFinEvent.register(resultFinListener);
@@ -287,6 +289,16 @@ public class LinkisJobDataImpl
     return this.resultFinListener.isTriggered();
   }
 
+  @Override
+  public boolean hasResult() {
+    return hasResult;
+  }
+
+  @Override
+  public void setHasResult(boolean hasResult) {
+    this.hasResult = hasResult;
+  }
+
   @Override
   public boolean isSuccess() {
     return success;
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisOnceJobData.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisOnceJobData.java
index dac5f1221..89130b62a 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisOnceJobData.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisOnceJobData.java
@@ -27,6 +27,8 @@ public class LinkisOnceJobData implements LinkisJobData, 
LinkisLogData, LinkisRe
 
   private SimpleOnceJobAdapter onceJobAdapter;
 
+  private boolean hasResult = true;
+
   public SimpleOnceJobAdapter getOnceJobAdapter() {
     return onceJobAdapter;
   }
@@ -148,6 +150,16 @@ public class LinkisOnceJobData implements LinkisJobData, 
LinkisLogData, LinkisRe
     return onceJobAdapter.resultFinReceived();
   }
 
+  @Override
+  public boolean hasResult() {
+    return hasResult;
+  }
+
+  @Override
+  public void setHasResult(boolean hasResult) {
+    this.hasResult = hasResult;
+  }
+
   @Override
   public JobStatus getJobStatus() {
     return onceJobAdapter.getJobStatus();
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisResultData.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisResultData.java
index bf64ba776..f8e61a790 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisResultData.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/interactor/job/data/LinkisResultData.java
@@ -32,4 +32,8 @@ public interface LinkisResultData extends LinkisJobData, 
Cloneable {
   void sendResultFin();
 
   boolean resultFinReceived();
+
+  boolean hasResult();
+
+  void setHasResult(boolean hasResult);
 }
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/operator/ujes/LinkisJobOperator.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/operator/ujes/LinkisJobOperator.java
index 38184e7e3..87c49cd14 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/operator/ujes/LinkisJobOperator.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/operator/ujes/LinkisJobOperator.java
@@ -569,7 +569,6 @@ public class LinkisJobOperator implements JobOperator {
                   "Get resultSetArray failed. retry time : {0}/{1}. taskID={2} 
Reason: {3}",
                   retryTime, MAX_RETRY_TIME, taskID, reason);
           logger.debug(msg);
-        } else {
           break;
         }
       } catch (Exception e) {
@@ -603,8 +602,6 @@ public class LinkisJobOperator implements JobOperator {
               "Get resultSetArray failed. retry exhausted. taskID={0}. Reason: 
{1}",
               taskID, reason);
       logger.warn(msg);
-      throw new LinkisClientExecutionException(
-          "EXE0023", ErrorLevel.ERROR, CommonErrMsg.ExecutionErr, msg + ". 
taskID=" + taskID);
     }
     return new UJESResultAdapter(resultSetArray);
   }
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/LinkisResultPresenter.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/LinkisResultPresenter.java
index d42e02c79..b5e39c4e2 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/LinkisResultPresenter.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/LinkisResultPresenter.java
@@ -65,9 +65,14 @@ public class LinkisResultPresenter implements Presenter {
           .info("JobStatus is not \'success\'. Will not retrieve result-set.");
       return;
     }
-    LogUtils.getInformationLogger()
-        .info(
-            "Retrieving result-set, may take time if result-set is large, 
please do not exit program.");
+    String msg = "";
+    if (resultModel.hasResult()) {
+      msg =
+          "Retrieving result-set, may take time if result-set is large, please 
do not exit program.";
+    } else {
+      msg = "Your job has no result.";
+    }
+    LogUtils.getInformationLogger().info(msg);
 
     final DisplayOperator displayOperator =
         DisplayOperFactory.getDisplayOper(
@@ -96,7 +101,7 @@ public class LinkisResultPresenter implements Presenter {
       StringBuilder resultSb,
       DisplayOperator displayOperator) {
     List<LinkisResultSet> linkisResultSets = 
resultModel.consumeResultContent();
-    if (linkisResultSets != null) {
+    if (linkisResultSets != null && !linkisResultSets.isEmpty()) {
       for (LinkisResultSet c : linkisResultSets) {
         int idxResultset = c.getResultsetIdx();
         /**
diff --git 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/model/LinkisResultModel.java
 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/model/LinkisResultModel.java
index 10797041b..1dce057c3 100644
--- 
a/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/model/LinkisResultModel.java
+++ 
b/linkis-computation-governance/linkis-client/linkis-cli/linkis-cli-application/src/main/java/org/apache/linkis/cli/application/present/model/LinkisResultModel.java
@@ -63,4 +63,8 @@ public class LinkisResultModel implements Model {
   public String getUser() {
     return data.getUser();
   }
+
+  public boolean hasResult() {
+    return data.hasResult();
+  }
 }


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

Reply via email to