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]