koert kuipers created ZEPPELIN-5673: ---------------------------------------
Summary: Example helium spell seems broken in master branch Key: ZEPPELIN-5673 URL: https://issues.apache.org/jira/browse/ZEPPELIN-5673 Project: Zeppelin Issue Type: Bug Components: helium Environment: master branch build with: mvn clean package -DskipTests -Pscala-2.11 -Pspark-3.0 -Pspark-scala-2.12 -Phadoop2 -Pbuild-distr Reporter: koert kuipers Attachments: image-2022-03-10-14-52-14-400.png i tried to get a helium spell installed in zeppelin build from master branch. building and launching zeppelin is no issue. it works fine. i make sure to enable local helium repo by setting zeppelin.helium.registry=helium next i drop zeppelin-example-spell-flowchart.json (from the repo, zeppelin-examples/zeppelin-example-spell-flowchart/zeppelin-example-spell-flowchart.json) into my helium dir, and i fix the artifact to be the correct absolute directory. at this point i can see the spell in the zeppelin ui under helium -> spell, and i can select to enable it. after a server restart i can try to use it in a notebook using: {code:java} %flowchart st=>start: Start|past:>http://www.google.com[blank] e=>end: End|future:>http://www.google.com op1=>operation: My Operation|past op2=>operation: Stuff|current sub1=>subroutine: My Subroutine|invalid cond=>condition: Yes or No?|approved:>http://www.google.com c2=>condition: Good idea|rejected io=>inputoutput: catch something...|futurest->op1(right)->cond cond(yes, right)->c2 cond(no)->sub1(left)->op1 c2(yes)->io->e c2(no)->op2->e {code} this produces a result, but also a pop-up with an error. !image-2022-03-10-14-52-14-400.png! in the logs i can see the full stacktrace: {code:java} ERROR [2022-03-10 14:51:07,237] ({qtp1866161430-14} NotebookServer.java[onMessage]:487) - Can't handle message: {"op":"PARAGRAPH_EXECUTED_BY_SPELL","data":{"id":"paragraph_1646941776613_862934868","paragraph":"%flowchart\nst=>start: Start|past:>http://www.google.com[blank]\ne=>end: End|future:>http://www.google.com\nop1=>operation: My Operation|past\nop2=>operation: Stuff|current\nsub1=>subroutine: My Subroutine|invalid\ncond=>condition: Yes\nor No?|approved:>http://www.google.com\nc2=>condition: Good idea|rejected\nio=>inputoutput: catch something...|future\n\nst->op1(right)->cond\ncond(yes, right)->c2\ncond(no)->sub1(left)->op1\nc2(yes)->io->e\nc2(no)->op2->e","results":{"code":"FINISHED","msg":[{"type":"%flowchart","data":"st=>start: Start|past:>http://www.google.com[blank]\ne=>end: End|future:>http://www.google.com\nop1=>operation: My Operation|past\nop2=>operation: Stuff|current\nsub1=>subroutine: My Subroutine|invalid\ncond=>condition: Yes\nor No?|approved:>http://www.google.com\nc2=>condition: Good idea|rejected\nio=>inputoutput: catch something...|future\n\nst->op1(right)->cond\ncond(yes, right)->c2\ncond(no)->sub1(left)->op1\nc2(yes)->io->e\nc2(no)->op2->e"}]},"status":"FINISHED","errorMessage":"","config":{"editorSetting":{"language":"text","editOnDblClick":false,"completionSupport":false},"colWidth":12,"editorMode":"ace/mode/text","fontSize":9,"results":{},"enabled":true,"tableHide":false},"params":{},"dateStarted":"2022-03-10T19:51:07.145Z","dateFinished":"2022-03-10T19:51:07.233Z"},"principal":"anonymous","ticket":"anonymous","roles":"[]","msgId":"s1mh2-11"} java.lang.ClassCastException: com.google.gson.internal.LinkedTreeMap cannot be cast to org.apache.zeppelin.interpreter.InterpreterResult at org.apache.zeppelin.service.NotebookService.lambda$spell$31(NotebookService.java:1264) at org.apache.zeppelin.notebook.Notebook.lambda$processNote$8(Notebook.java:413) at org.apache.zeppelin.notebook.NoteManager$NoteNode.loadAndProcessNote(NoteManager.java:626) at org.apache.zeppelin.notebook.NoteManager.processNote(NoteManager.java:325) at org.apache.zeppelin.notebook.Notebook.processNote(Notebook.java:401) at org.apache.zeppelin.notebook.Notebook.processNote(Notebook.java:387) at org.apache.zeppelin.service.NotebookService.spell(NotebookService.java:1260) at org.apache.zeppelin.socket.NotebookServer.broadcastSpellExecution(NotebookServer.java:1594) at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:383) at org.apache.zeppelin.socket.NotebookServer.onMessage(NotebookServer.java:270) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.eclipse.jetty.websocket.common.events.annotated.CallableMethod.call(CallableMethod.java:70) at org.eclipse.jetty.websocket.jsr356.annotations.OnMessageTextCallable.call(OnMessageTextCallable.java:63) at org.eclipse.jetty.websocket.jsr356.annotations.JsrEvents.callText(JsrEvents.java:197) at org.eclipse.jetty.websocket.jsr356.endpoints.JsrAnnotatedEventDriver.onTextMessage(JsrAnnotatedEventDriver.java:379) 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.jsr356.endpoints.JsrAnnotatedEventDriver.onTextFrame(JsrAnnotatedEventDriver.java:361) at org.eclipse.jetty.websocket.common.events.AbstractEventDriver.incomingFrame(AbstractEventDriver.java:150) at org.eclipse.jetty.websocket.common.WebSocketSession.incomingFrame(WebSocketSession.java:326) at org.eclipse.jetty.websocket.common.extensions.AbstractExtension.nextIncomingFrame(AbstractExtension.java:147) at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.nextIncomingFrame(PerMessageDeflateExtension.java:112) at org.eclipse.jetty.websocket.common.extensions.compress.CompressExtension.forwardIncoming(CompressExtension.java:168) at org.eclipse.jetty.websocket.common.extensions.compress.PerMessageDeflateExtension.incomingFrame(PerMessageDeflateExtension.java:92) at org.eclipse.jetty.websocket.common.extensions.ExtensionStack.incomingFrame(ExtensionStack.java:202) at org.eclipse.jetty.websocket.common.Parser.notifyFrame(Parser.java:225) at org.eclipse.jetty.websocket.common.Parser.parseSingleFrame(Parser.java:259) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:459) at org.eclipse.jetty.websocket.common.io.AbstractWebSocketConnection.onFillable(AbstractWebSocketConnection.java:440) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938) at java.lang.Thread.run(Thread.java:748) {code} -- This message was sent by Atlassian Jira (v8.20.1#820001)