Repository: zeppelin
Updated Branches:
refs/heads/branch-0.6 16d1648b6 -> e5171786c
[ZEPPELIN-960] When there is no interpreter, paragraph runJobapi modified.
Among Zeppelin API Fixed runNote.
According to whether the interpreter specified,
was added to an exception processing for a result and operation.
run success (HTTP STATUS : 200)
```
{
"status": "OK"
}
```
can't not found note id (HTTP STATUS : 404)
```
{
"status": "NOT_FOUND",
"message": "note not found."
}
```
interpter not found or not bind (HTTP STATUS : 412 - PRECONDITION FAILED)
```
{
"status": "PRECONDITION_FAILED",
"message": "paragraph_1469771130099_-278315611 Not selected or Invalid
Interpreter bind"
}
```
Bug Fix
- [x] runNote api can apply by jdbc alias naming.
- [x] The results are recorded in the paragraph.
- [x] Binding fails when the interpreter 'HTTP STATUS CODE (412: PRECONDITION
FAILED) and returns a message.
- [x] modification docs.
https://issues.apache.org/jira/browse/ZEPPELIN-960
execute to curl command line.
1. curl -XPOST http://(your zeppelin ip):(port)/api/notebook/job/2A94M5J1Z
-H'Content-Type:application/json'
```
curl -XPOST http://127.0.0.1:8080/api/notebook/job/2A94M5J1Z
-H'Content-Type:application/json'
```
2.
if correct for execution then
```
{"status":"OK"}
```
if invalid notebook id then
```
{
"status": "NOT_FOUND",
"message": "note not found."
}
```
if not binding interpreters

```
{
"status": "PRECONDITION_FAILED",
"message": "paragraph_(paragraphid) Not selected or Invalid Interpreter bind"
}
```
* Does the licenses files need update? no
* Is there breaking changes for older versions? no
* Does this needs documentation? yes
Author: CloverHearts <[email protected]>
Author: CloverHearts <[email protected]>
Closes #1242 from cloverhearts/ZEPPELIN-960 and squashes the following commits:
92c8a10 [CloverHearts] remove empty try-catch brace
33b0732 [CloverHearts] Merge branch 'master' into ZEPPELIN-960
9b42898 [CloverHearts] to short msg and removed confusion code.
b9e197c [CloverHearts] Merge branch 'master' into ZEPPELIN-960
a672cf3 [CloverHearts] reimplement run.eachParagraph to run.all method
1428795 [CloverHearts] Merge branch 'master' into ZEPPELIN-960
7b71ced [CloverHearts] Merge branch 'master' into ZEPPELIN-960
ff0f213 [CloverHearts] Merge branch 'master' into ZEPPELIN-960
8446513 [CloverHearts] add docs for runNoteJobs restful api
251bb52 [CloverHearts] fixed api method for runNoteJob in notebook rest api
(cherry picked from commit 42e3a141dea606427e60410537db29f92913463c)
Signed-off-by: Mina Lee <[email protected]>
Conflicts:
zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/e5171786
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/e5171786
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/e5171786
Branch: refs/heads/branch-0.6
Commit: e5171786cd1f919993b010d745a95513656306ab
Parents: 16d1648
Author: CloverHearts <[email protected]>
Authored: Wed Aug 24 00:31:12 2016 +0900
Committer: Mina Lee <[email protected]>
Committed: Mon Aug 29 17:20:39 2016 +0200
----------------------------------------------------------------------
docs/rest-api/rest-notebook.md | 24 ++++++++++++++++++--
.../apache/zeppelin/rest/NotebookRestApi.java | 11 +++++++--
.../java/org/apache/zeppelin/notebook/Note.java | 17 ++++++++++----
3 files changed, 44 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/e5171786/docs/rest-api/rest-notebook.md
----------------------------------------------------------------------
diff --git a/docs/rest-api/rest-notebook.md b/docs/rest-api/rest-notebook.md
index edbb595..b9fe721 100644
--- a/docs/rest-api/rest-notebook.md
+++ b/docs/rest-api/rest-notebook.md
@@ -298,7 +298,10 @@ If you work with Apache Zeppelin and find a need for an
additional REST API, ple
<col width="200">
<tr>
<td>Description</td>
- <td>This ```POST``` method runs all paragraphs in the given notebook id.
+ <td>
+ This ```POST``` method runs all paragraphs in the given notebook id. <br
/>
+ If you can not find Notebook id 404 returns.
+ If there is a problem with the interpreter returns a 412 error.
</td>
</tr>
<tr>
@@ -311,12 +314,29 @@ If you work with Apache Zeppelin and find a need for an
additional REST API, ple
</tr>
<tr>
<td> Fail code</td>
- <td> 500 </td>
+ <td> 404 or 412</td>
</tr>
<tr>
<td> sample JSON response </td>
<td><pre>{"status": "OK"}</pre></td>
</tr>
+ <tr>
+ <td> sample JSON error response </td>
+ <td>
+ <pre>
+ {
+ "status": "NOT_FOUND",
+ "message": "note not found."
+ }
+ </pre><br />
+ <pre>
+ {
+ "status": "PRECONDITION_FAILED",
+ "message": "paragraph_1469771130099_-278315611 Not selected or
Invalid Interpreter bind"
+ }
+ </pre>
+ </td>
+ </tr>
</table>
<br/>
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/e5171786/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
----------------------------------------------------------------------
diff --git
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
index 87e7cce..fdb6eb4 100644
---
a/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
+++
b/zeppelin-server/src/main/java/org/apache/zeppelin/rest/NotebookRestApi.java
@@ -501,8 +501,15 @@ public class NotebookRestApi {
if (note == null) {
return new JsonResponse<>(Status.NOT_FOUND, "note not found.").build();
}
-
- note.runAll();
+
+ try {
+ note.runAll();
+ } catch (Exception ex) {
+ LOG.error("Exception from run", ex);
+ return new JsonResponse<>(Status.PRECONDITION_FAILED,
+ ex.getMessage() + "- Not selected or Invalid Interpreter
bind").build();
+ }
+
return new JsonResponse<>(Status.OK).build();
}
http://git-wip-us.apache.org/repos/asf/zeppelin/blob/e5171786/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
----------------------------------------------------------------------
diff --git
a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
index ad6e92d..b556204 100644
--- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
+++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/notebook/Note.java
@@ -401,9 +401,7 @@ public class Note implements Serializable, JobListener {
authenticationInfo.setUser(cronExecutingUser);
p.setAuthenticationInfo(authenticationInfo);
p.setNoteReplLoader(replLoader);
- p.setListener(jobListenerFactory.getParagraphJobListener(this));
- Interpreter intp = replLoader.get(p.getRequiredReplName());
- intp.getScheduler().submit(p);
+ run(p.getId());
}
}
}
@@ -426,7 +424,18 @@ public class Note implements Serializable, JobListener {
logger.debug("New paragraph: {}", pText);
p.setEffectiveText(pText);
} else {
- throw new InterpreterException("Interpreter " + requiredReplName + "
not found");
+ String intpExceptionMsg = String.format("%s",
+ p.getJobName()
+ + "'s Interpreter "
+ + requiredReplName + " not found"
+ );
+ InterpreterException intpException = new
InterpreterException(intpExceptionMsg);
+ InterpreterResult intpResult = new InterpreterResult(
+ InterpreterResult.Code.ERROR, intpException.getMessage()
+ );
+ p.setReturn(intpResult, intpException);
+ p.setStatus(Job.Status.ERROR);
+ throw intpException;
}
}
if (p.getConfig().get("enabled") == null || (Boolean)
p.getConfig().get("enabled")) {