From 9b3c744a07498c60d1342c938b17af327a9c9001 Mon Sep 17 00:00:00 2001 From: xiejiajun Date: Fri, 20 Mar 2020 22:00:05 +0800 Subject: [PATCH 1/2] added timeout for getting Thrift client to avoid situations where the interpreter may not be restarted when the interpreter process exits unexpectedly --- .../zeppelin/interpreter/remote/RemoteInterpreterProcess.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java index 441dc76c931..de6b1574c22 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterProcess.java @@ -48,7 +48,7 @@ public synchronized Client getClient() throws Exception { clientFactory = new ClientFactory(getHost(), getPort()); clientPool = new GenericObjectPool<>(clientFactory); } - return clientPool.borrowObject(); + return clientPool.borrowObject(5_000); } public void shutdown() { From 9bc56056b968c935e5f315060bc42cd59cac0b8f Mon Sep 17 00:00:00 2001 From: xiejiajun Date: Wed, 1 Apr 2020 01:43:50 +0800 Subject: [PATCH 2/2] bug fix: when we removing a paragraph , an interpreter process refused to connect due to it abnormal stop , which eventually caused the remove paragraph operation to fail to complete. --- .../InterpreterSettingManager.java | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java index 85ab17eb8a1..899c850942d 100644 --- a/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java +++ b/zeppelin-zengine/src/main/java/org/apache/zeppelin/interpreter/InterpreterSettingManager.java @@ -676,20 +676,23 @@ public List call(RemoteInterpreterService.Client client) throws Exceptio if (paragraphId != null) { resourceSet = resourceSet.filterByParagraphId(paragraphId); } - - for (final Resource r : resourceSet) { - remoteInterpreterProcess.callRemoteFunction( - new RemoteInterpreterProcess.RemoteFunction() { - - @Override - public Void call(RemoteInterpreterService.Client client) throws Exception { - client.resourceRemove( - r.getResourceId().getNoteId(), - r.getResourceId().getParagraphId(), - r.getResourceId().getName()); - return null; - } - }); + try{ + for (final Resource r : resourceSet) { + remoteInterpreterProcess.callRemoteFunction( + new RemoteInterpreterProcess.RemoteFunction() { + + @Override + public Void call(RemoteInterpreterService.Client client) throws Exception { + client.resourceRemove( + r.getResourceId().getNoteId(), + r.getResourceId().getParagraphId(), + r.getResourceId().getName()); + return null; + } + }); + } + }catch (Exception e){ + LOGGER.error(e.getMessage()); } } }