If there're some way to reproduce the problem it'll help a lot. Let me investigate more on this problem.
I'm working on improving interpreter process restart. https://github.com/Leemoonsoo/incubator-zeppelin/commit/3200b9aac26d394a67d496c3b209eb3cda046c4a Once i know how to reproduce "Scheduler already terminated Exception", I'll make pullrequest together with this improvement. Thanks, moon On Mon, Sep 7, 2015 at 5:44 AM linxi zeng <linxizeng0...@gmail.com> wrote: > hi, moon: > > After change some settings and restarting interpreter, the scheduler of > interpreter will be terminated and the RemoteInterpreterServer process > should be stopped too. But if the RemoteInterpreterServer didn't shutdown > as expected, an exception named "Scheduler already terminated" will be > thrown when we run paragraphs using this interpreter (such as spark). Then > restart the zeppelin server seems the only way to solve the problem. > > This problem has already happen several times, but still have no idea how > to stable reproduct it. I was thinking that if we can restart the > RemoteInterpreterServer when we catch this Exception? > > Do you have any idea to solve this problem? > > > By the way, The detail error info is like that: > > INFO [2015-09-06 10:21:47,487] ({qtp1633200777-7462} > NotebookServer.java[onMessage]:112) - RECEIVE << RUN_PARAGRAPH > INFO [2015-09-06 10:21:47,493] ({qtp1633200777-7462} > NotebookServer.java[broadcast]:264) - SEND >> NOTE > ERROR [2015-09-06 10:21:47,495] ({qtp1633200777-7462} > NotebookServer.java[runParagraph]:640) - Exception from run > java.lang.RuntimeException: Scheduler already terminated > at > org.apache.zeppelin.scheduler.RemoteScheduler.submit(RemoteScheduler.java:124) > at org.apache.zeppelin.notebook.Note.run(Note.java:282) > at > org.apache.zeppelin.socket.NotebookServer.runParagraph(NotebookServer.java:638) > at > org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:137) > at > org.apache.zeppelin.socket.NotebookSocket.onMessage(NotebookSocket.java:56) > at > org.eclipse.jetty.websocket.WebSocketConnectionRFC6455$WSFrameHandler.onFrame(WebSocketConnectionRFC6455.java:835) > at > org.eclipse.jetty.websocket.WebSocketParserRFC6455.parseNext(WebSocketParserRFC6455.java:349) > at > org.eclipse.jetty.websocket.WebSocketConnectionRFC6455.handle(WebSocketConnectionRFC6455.java:225) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:667) > at > org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) > at java.lang.Thread.run(Thread.java:745) > >