Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
0.7.0
-
None
Description
Appropriate error message should be shown to user if interpreter binding fails.
Steps to reproduce the issue :
1) Create a new notebook
2) Add a para to the notebook with interpreter spark.sql (interpreter which is not registered in zeppelin)
3) Try to change interpreter bindings. ie deselect angular and save it.
Operation fails with below exception :
==> /grid/0/log/zeppelin/zeppelin-zeppelin-ctr-e138-1518143905142-29848-01-000004.hwx.site.log <== INFO [2018-02-20 14:38:47,803] ({qtp604125138-823} FileSystemConfigStorage.java[call]:98) - Save Interpreter Settings to hdfs://mycluster/user/zeppelin/conf/interpreter.json INFO [2018-02-20 14:38:47,836] ({qtp604125138-823} FileSystemConfigStorage.java[call]:143) - Save notebook authorization to file: hdfs://mycluster/user/zeppelin/conf/notebook-authorization.json INFO [2018-02-20 14:38:47,856] ({qtp604125138-823} FileSystemConfigStorage.java[call]:143) - Save notebook authorization to file: hdfs://mycluster/user/zeppelin/conf/notebook-authorization.json INFO [2018-02-20 14:38:47,869] ({qtp604125138-823} FileSystemConfigStorage.java[call]:143) - Save notebook authorization to file: hdfs://mycluster/user/zeppelin/conf/notebook-authorization.json INFO [2018-02-20 14:38:47,900] ({qtp604125138-823} FolderView.java[onNoteNameChanged]:205) - Note name changed: -> test INFO [2018-02-20 14:38:47,900] ({qtp604125138-823} Folder.java[addNote]:184) - Add note 2D64BH3K1 to folder / INFO [2018-02-20 14:38:48,197] ({qtp604125138-821} NotebookServer.java[sendNote]:711) - New operation from 10.200.5.34 : 52682 : hrt_1 : GET_NOTE : 2D64BH3K1 WARN [2018-02-20 14:38:48,198] ({qtp604125138-821} FileSystemNotebookRepo.java[revisionHistory]:171) - revisionHistory is not implemented for HdfsNotebookRepo ERROR [2018-02-20 14:38:55,954] ({qtp604125138-821} NotebookServer.java[onMessage]:358) - Can't handle message org.apache.zeppelin.interpreter.InterpreterException: spark.sql interpreter not found at org.apache.zeppelin.interpreter.InterpreterFactory.getInterpreter(InterpreterFactory.java:417) at org.apache.zeppelin.socket.NotebookServer.getEditorSetting(NotebookServer.java:2212) at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:346) at org.apache.zeppelin.socket.NotebookSocket.onWebSocketText(NotebookSocket.java:59) at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextMessage(JettyListenerEventDriver.java:128) at org.eclipse.jetty.websocket.common.message.SimpleTextMessage.messageComplete(SimpleTextMessage.java:69) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.appendMessage(AbstractEventDriver.java:65) at org.eclipse.jetty.websocket.common.events.JettyListenerEventDriver.onTextFrame(JettyListenerEventDriver.java:122) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:161) at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:309) at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:214) at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:220) at org.eclipse.jetty.websocket.common.Parser.parse(Parser.java:258) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.readParse(AbstractWebSocketConnection.java:632) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:480) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Thread.java:748) INFO [2018-02-20 14:38:56,698] ({qtp604125138-823} NotebookServer.java[broadcastNewParagraph]:647) - Broadcasting paragraph on run call instead of note. ERROR [2018-02-20 14:38:56,727] ({qtp604125138-823} NotebookServer.java[persistAndExecuteSingleParagraph]:1652) - Exception from run
Instead of failing the operation silently, its better to show appropriate error message to user.