From f6fe21606cf9fd93055a36b1fd5d7a23643addd2 Mon Sep 17 00:00:00 2001 From: CloverHearts Date: Tue, 29 Dec 2015 00:45:26 -0800 Subject: [PATCH 1/2] restful api setting-interpreterid bug fix. --- .../zeppelin/interpreter/InterpreterFactory.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java index 1beebde6d82..91607d7a89d 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java @@ -519,6 +519,21 @@ public void setPropertyAndRestart(String id, InterpreterOption option, synchronized (interpreterSettings) { InterpreterSetting intpsetting = interpreterSettings.get(id); if (intpsetting != null) { + + for (Interpreter intp : intpsetting.getInterpreterGroup()) { + for (Job job : intp.getScheduler().getJobsRunning()) { + job.abort(); + job.setStatus(Status.ABORT); + logger.info("Job " + job.getJobName() + " aborted "); + } + + for (Job job : intp.getScheduler().getJobsWaiting()) { + job.abort(); + job.setStatus(Status.ABORT); + logger.info("Job " + job.getJobName() + " aborted "); + } + } + intpsetting.getInterpreterGroup().close(); intpsetting.getInterpreterGroup().destroy(); From f9294e248aa588638e9d71c9404be8b91c1231c5 Mon Sep 17 00:00:00 2001 From: CloverHearts Date: Tue, 29 Dec 2015 21:15:53 -0800 Subject: [PATCH 2/2] stop job code -> new private method(stopJobAllInterpreter) --- .../interpreter/InterpreterFactory.java | 45 ++++++++----------- 1 file changed, 18 insertions(+), 27 deletions(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java index 91607d7a89d..9591a7fa926 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterFactory.java @@ -520,19 +520,7 @@ public void setPropertyAndRestart(String id, InterpreterOption option, InterpreterSetting intpsetting = interpreterSettings.get(id); if (intpsetting != null) { - for (Interpreter intp : intpsetting.getInterpreterGroup()) { - for (Job job : intp.getScheduler().getJobsRunning()) { - job.abort(); - job.setStatus(Status.ABORT); - logger.info("Job " + job.getJobName() + " aborted "); - } - - for (Job job : intp.getScheduler().getJobsWaiting()) { - job.abort(); - job.setStatus(Status.ABORT); - logger.info("Job " + job.getJobName() + " aborted "); - } - } + stopJobAllInterpreter(intpsetting); intpsetting.getInterpreterGroup().close(); intpsetting.getInterpreterGroup().destroy(); @@ -556,20 +544,7 @@ public void restart(String id) { InterpreterSetting intpsetting = interpreterSettings.get(id); if (intpsetting != null) { - for (Interpreter intp : intpsetting.getInterpreterGroup()) { - for (Job job : intp.getScheduler().getJobsRunning()) { - job.abort(); - job.setStatus(Status.ABORT); - logger.info("Job " + job.getJobName() + " aborted "); - } - - for (Job job : intp.getScheduler().getJobsWaiting()) { - job.abort(); - job.setStatus(Status.ABORT); - logger.info("Job " + job.getJobName() + " aborted "); - } - } - + stopJobAllInterpreter(intpsetting); intpsetting.getInterpreterGroup().close(); intpsetting.getInterpreterGroup().destroy(); @@ -585,6 +560,22 @@ public void restart(String id) { } } + private void stopJobAllInterpreter(InterpreterSetting intpsetting) { + if (intpsetting != null) { + for (Interpreter intp : intpsetting.getInterpreterGroup()) { + for (Job job : intp.getScheduler().getJobsRunning()) { + job.abort(); + job.setStatus(Status.ABORT); + logger.info("Job " + job.getJobName() + " aborted "); + } + for (Job job : intp.getScheduler().getJobsWaiting()) { + job.abort(); + job.setStatus(Status.ABORT); + logger.info("Job " + job.getJobName() + " aborted "); + } + } + } + } public void close() { List closeThreads = new LinkedList();