Repository: incubator-zeppelin Updated Branches: refs/heads/master 1bc5e8df9 -> 052524956
ZEPPELIN-135 z.run() is raising exception This PR fixes https://issues.apache.org/jira/browse/ZEPPELIN-135 Test included. Author: Lee moon soo <[email protected]> Closes #124 from Leemoonsoo/fix_zrun and squashes the following commits: fbf0270 [Lee moon soo] Fix z.run() 21f65da [Lee moon soo] Add a test for z.run() Project: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/commit/05252495 Tree: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/tree/05252495 Diff: http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/diff/05252495 Branch: refs/heads/master Commit: 052524956357a1d6c616bf0c7bfa2bf805d30daf Parents: 1bc5e8d Author: Lee moon soo <[email protected]> Authored: Fri Jun 26 13:37:17 2015 -0700 Committer: Lee moon soo <[email protected]> Committed: Sat Jun 27 20:45:04 2015 -0700 ---------------------------------------------------------------------- .../interpreter/remote/RemoteInterpreter.java | 7 ++++--- .../remote/RemoteInterpreterProcess.java | 8 +++----- .../remote/RemoteInterpreterProcessTest.java | 10 ++++++---- .../zeppelin/rest/ZeppelinSparkClusterTest.java | 21 ++++++++++++++++++++ 4 files changed, 34 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/05252495/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java ---------------------------------------------------------------------- diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java index 22818fc..cd77dc4 100644 --- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java +++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreter.java @@ -57,7 +57,6 @@ public class RemoteInterpreter extends Interpreter { static Map<String, RemoteInterpreterProcess> interpreterGroupReference = new HashMap<String, RemoteInterpreterProcess>(); - private InterpreterContextRunnerPool interpreterContextRunnerPool; private int connectTimeout; public RemoteInterpreter(Properties property, @@ -72,7 +71,6 @@ public class RemoteInterpreter extends Interpreter { this.interpreterRunner = interpreterRunner; this.interpreterPath = interpreterPath; env = new HashMap<String, String>(); - interpreterContextRunnerPool = new InterpreterContextRunnerPool(); this.connectTimeout = connectTimeout; } @@ -195,6 +193,9 @@ public class RemoteInterpreter extends Interpreter { throw new InterpreterException(e1); } + InterpreterContextRunnerPool interpreterContextRunnerPool = interpreterProcess + .getInterpreterContextRunnerPool(); + List<InterpreterContextRunner> runners = context.getRunners(); if (runners != null && runners.size() != 0) { // assume all runners in this InterpreterContext have the same note id @@ -338,7 +339,7 @@ public class RemoteInterpreter extends Interpreter { || (!intpProcess.isRunning() && intpProcess.getPort() == -1)) { interpreterGroupReference.put(getInterpreterGroupKey(interpreterGroup), new RemoteInterpreterProcess(interpreterRunner, - interpreterPath, env, interpreterContextRunnerPool, connectTimeout)); + interpreterPath, env, connectTimeout)); logger.info("setInterpreterGroup = " + getInterpreterGroupKey(interpreterGroup) + " class=" + className http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/05252495/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java ---------------------------------------------------------------------- diff --git a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java index 5dd2a65..f917eb9 100644 --- a/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java +++ b/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java @@ -55,21 +55,19 @@ public class RemoteInterpreterProcess implements ExecuteResultHandler { public RemoteInterpreterProcess(String intpRunner, String intpDir, Map<String, String> env, - InterpreterContextRunnerPool interpreterContextRunnerPool, int connectTimeout) { - this(intpRunner, intpDir, env, interpreterContextRunnerPool, - new RemoteInterpreterEventPoller(), connectTimeout); + int connectTimeout) { + this(intpRunner, intpDir, env, new RemoteInterpreterEventPoller(), connectTimeout); } RemoteInterpreterProcess(String intpRunner, String intpDir, Map<String, String> env, - InterpreterContextRunnerPool interpreterContextRunnerPool, RemoteInterpreterEventPoller remoteInterpreterEventPoller, int connectTimeout) { this.interpreterRunner = intpRunner; this.interpreterDir = intpDir; this.env = env; - this.interpreterContextRunnerPool = interpreterContextRunnerPool; + this.interpreterContextRunnerPool = new InterpreterContextRunnerPool(); referenceCount = new AtomicInteger(0); this.remoteInterpreterEventPoller = remoteInterpreterEventPoller; this.connectTimeout = connectTimeout; http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/05252495/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessTest.java b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessTest.java index 0043272..ea5397e 100644 --- a/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessTest.java +++ b/zeppelin-interpreter/src/test/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcessTest.java @@ -32,8 +32,9 @@ public class RemoteInterpreterProcessTest { @Test public void testStartStop() { InterpreterGroup intpGroup = new InterpreterGroup(); - RemoteInterpreterProcess rip = new RemoteInterpreterProcess("../bin/interpreter.sh", "nonexists", new HashMap<String, String>(), - new InterpreterContextRunnerPool(), 10 * 1000); + RemoteInterpreterProcess rip = new RemoteInterpreterProcess( + "../bin/interpreter.sh", "nonexists", new HashMap<String, String>(), + 10 * 1000); assertFalse(rip.isRunning()); assertEquals(0, rip.referenceCount()); assertEquals(1, rip.reference(intpGroup)); @@ -48,8 +49,9 @@ public class RemoteInterpreterProcessTest { @Test public void testClientFactory() throws Exception { InterpreterGroup intpGroup = new InterpreterGroup(); - RemoteInterpreterProcess rip = new RemoteInterpreterProcess("../bin/interpreter.sh", "nonexists", new HashMap<String, String>(), - new InterpreterContextRunnerPool(), mock(RemoteInterpreterEventPoller.class), 10 * 1000); + RemoteInterpreterProcess rip = new RemoteInterpreterProcess( + "../bin/interpreter.sh", "nonexists", new HashMap<String, String>(), + mock(RemoteInterpreterEventPoller.class), 10 * 1000); rip.reference(intpGroup); assertEquals(0, rip.getNumActiveClient()); assertEquals(0, rip.getNumIdleClient()); http://git-wip-us.apache.org/repos/asf/incubator-zeppelin/blob/05252495/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java ---------------------------------------------------------------------- diff --git a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java index 02b7e47..758a1e4 100644 --- a/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java +++ b/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java @@ -89,6 +89,27 @@ public class ZeppelinSparkClusterTest extends AbstractTestRestApi { ZeppelinServer.notebook.removeNote(note.id()); } + @Test + public void zRunTest() throws IOException { + // create new note + Note note = ZeppelinServer.notebook.createNote(); + Paragraph p0 = note.addParagraph(); + p0.setText("z.run(1)"); + Paragraph p1 = note.addParagraph(); + p1.setText("val a=10"); + Paragraph p2 = note.addParagraph(); + p2.setText("print(a)"); + + note.run(p0.getId()); + waitForFinish(p0); + + note.run(p2.getId()); + waitForFinish(p2); + assertEquals("10", p2.getResult().message()); + + ZeppelinServer.notebook.removeNote(note.id()); + } + /** * Get spark version number as a numerical value. * eg. 1.1.x => 11, 1.2.x => 12, 1.3.x => 13 ...
