Tyler created ZEPPELIN-5657:
-------------------------------

             Summary: ClassNotFound when checking notebook status.
                 Key: ZEPPELIN-5657
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-5657
             Project: Zeppelin
          Issue Type: Bug
            Reporter: Tyler


In certain circumstances (looks like when there is an exception in a notebook, 
but not sure), it's possible to get the following error: 

 
{code:java}
java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils at 
org.apache.zeppelin.rest.message.ParagraphJobStatus.<init>(ParagraphJobStatus.java:46)
 at 
org.apache.zeppelin.rest.message.NoteJobStatus.lambda$new$0(NoteJobStatus.java:39)
 at 
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
 at 
java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
 at 
java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) 
at 
java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
 at 
java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913)
 at 
java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) 
at 
java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578)
 ...{code}
This can be caused when trying to get the status of a notebook that has had 
errors. For instance, by introducing some errors into one of the example 
notebooks, I can get this. 



Example, run the notebook 2A94M5J1Z (the spark basic features demo), and then 
check its status. 
{code:java}
curl -k https://<server>/api/notebook/job/2A94M5J1Z
{"status":"OK","body":{"id":"2A94M5J1Z","isRunning":false,"paragraphs":[{"id":"20150213-231621_168813393","status":"FINISHED","started":"Wed
 Feb 23 10:26:34 EST 2022","finished":"Wed Feb 23 10:26:34 EST 
2022","progress":"100"},{"id":"20150210-015259_1403135953","status":"FINISHED","started":"Wed
 Feb 23 10:27:46 EST 2022","finished":"Wed Feb 23 10:27:47 EST 
2022","progress":"100"},{"id":"20150210-015302_1492795503","status":"FINISHED","started":"Wed
 Feb 23 10:26:50 EST 2022","finished":"Wed Feb 23 10:26:53 EST 
2022","progress":"100"},{"id":"20150212-145404_867439529","status":"FINISHED","started":"Wed
 Feb 23 10:26:53 EST 2022","finished":"Wed Feb 23 10:26:54 EST 
2022","progress":"100"},{"id":"20150213-230422_1600658137","status":"FINISHED","started":"Wed
 Feb 23 10:26:54 EST 2022","finished":"Wed Feb 23 10:26:54 EST 
2022","progress":"100"},{"id":"20150213-230428_1231780373","status":"FINISHED","started":"Wed
 Feb 23 10:26:54 EST 2022","finished":"Wed Feb 23 10:26:54 EST 
2022","progress":"100"},{"id":"20150326-214658_12335843","status":"FINISHED","started":"Wed
 Feb 23 10:26:54 EST 2022","finished":"Wed Feb 23 10:26:54 EST 
2022","progress":"100"},{"id":"20150703-133047_853701097","status":"FINISHED","progress":"100"}]}}
 {code}
This worked just fine. Now introduce an error by changing the data url to 
"https://s3.amazonaws.com/apache-zeppelin{*}2{*}/tutorial/bank/bank.csv";, which 
does not exist, run to get the error, and then check the status. 

This triggers the error above, and now returns a status of 500 (internal server 
error), and reports the StringUtils stack trace rather than the actual status 
of the notebook. 

 
{code:java}
curl -k https://<server>/api/notebook/job/2A94M5J1Z
{"detailMessage":"org/apache/commons/lang/StringUtils","stackTrace":[{"classLoaderName":"app","declaringClass":"org.apache.zeppelin.rest.message.ParagraphJobStatus","methodName":"\u003cinit\u003e","fileName":"ParagraphJobStatus.java","lineNumber":46,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.zeppelin.rest.message.NoteJobStatus","methodName":"lambda$new$0","fileName":"NoteJobStatus.java","lineNumber":39,"format":1},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.ReferencePipeline$3$1","methodName":"accept","fileName":"ReferencePipeline.java","lineNumber":195,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.Spliterators$ArraySpliterator","methodName":"forEachRemaining","fileName":"Spliterators.java","lineNumber":948,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.AbstractPipeline","methodName":"copyInto","fileName":"AbstractPipeline.java","lineNumber":484,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.AbstractPipeline","methodName":"wrapAndCopyInto","fileName":"AbstractPipeline.java","lineNumber":474,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.ReduceOps$ReduceOp","methodName":"evaluateSequential","fileName":"ReduceOps.java","lineNumber":913,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.AbstractPipeline","methodName":"evaluate","fileName":"AbstractPipeline.java","lineNumber":234,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.util.stream.ReferencePipeline","methodName":"collect","fileName":"ReferencePipeline.java","lineNumber":578,"format":2},{"classLoaderName":"app","declaringClass":"org.apache.zeppelin.rest.message.NoteJobStatus","methodName":"\u003cinit\u003e","fileName":"NoteJobStatus.java","lineNumber":40,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.zeppelin.rest.NotebookRestApi","methodName":"getNoteJobStatus","fileName":"NotebookRestApi.java","lineNumber":788,"format":1},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"jdk.internal.reflect.NativeMethodAccessorImpl","methodName":"invoke0","fileName":"NativeMethodAccessorImpl.java","lineNumber":-2,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"jdk.internal.reflect.NativeMethodAccessorImpl","methodName":"invoke","fileName":"NativeMethodAccessorImpl.java","lineNumber":62,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"jdk.internal.reflect.DelegatingMethodAccessorImpl","methodName":"invoke","fileName":"DelegatingMethodAccessorImpl.java","lineNumber":43,"format":2},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.lang.reflect.Method","methodName":"invoke","fileName":"Method.java","lineNumber":566,"format":2},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory","methodName":"lambda$static$0","fileName":"ResourceMethodInvocationHandlerFactory.java","lineNumber":52,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1","methodName":"run","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":124,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher","methodName":"invoke","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":167,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker","methodName":"doDispatch","fileName":"JavaResourceMethodDispatcherProvider.java","lineNumber":176,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher","methodName":"dispatch","fileName":"AbstractJavaResourceMethodDispatcher.java","lineNumber":79,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.ResourceMethodInvoker","methodName":"invoke","fileName":"ResourceMethodInvoker.java","lineNumber":469,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.ResourceMethodInvoker","methodName":"apply","fileName":"ResourceMethodInvoker.java","lineNumber":391,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.model.ResourceMethodInvoker","methodName":"apply","fileName":"ResourceMethodInvoker.java","lineNumber":80,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.ServerRuntime$1","methodName":"run","fileName":"ServerRuntime.java","lineNumber":253,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.internal.Errors$1","methodName":"call","fileName":"Errors.java","lineNumber":248,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.internal.Errors$1","methodName":"call","fileName":"Errors.java","lineNumber":244,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.internal.Errors","methodName":"process","fileName":"Errors.java","lineNumber":292,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.internal.Errors","methodName":"process","fileName":"Errors.java","lineNumber":274,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.internal.Errors","methodName":"process","fileName":"Errors.java","lineNumber":244,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.process.internal.RequestScope","methodName":"runInScope","fileName":"RequestScope.java","lineNumber":265,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.ServerRuntime","methodName":"process","fileName":"ServerRuntime.java","lineNumber":232,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.server.ApplicationHandler","methodName":"handle","fileName":"ApplicationHandler.java","lineNumber":680,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.servlet.WebComponent","methodName":"serviceImpl","fileName":"WebComponent.java","lineNumber":394,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.servlet.WebComponent","methodName":"service","fileName":"WebComponent.java","lineNumber":346,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.servlet.ServletContainer","methodName":"service","fileName":"ServletContainer.java","lineNumber":366,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.servlet.ServletContainer","methodName":"service","fileName":"ServletContainer.java","lineNumber":319,"format":1},{"classLoaderName":"app","declaringClass":"org.glassfish.jersey.servlet.ServletContainer","methodName":"service","fileName":"ServletContainer.java","lineNumber":205,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHolder","methodName":"handle","fileName":"ServletHolder.java","lineNumber":763,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","methodName":"doFilter","fileName":"ServletHandler.java","lineNumber":1651,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.ProxiedFilterChain","methodName":"doFilter","fileName":"ProxiedFilterChain.java","lineNumber":61,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AdviceFilter","methodName":"executeChain","fileName":"AdviceFilter.java","lineNumber":108,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AdviceFilter","methodName":"doFilterInternal","fileName":"AdviceFilter.java","lineNumber":137,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.OncePerRequestFilter","methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":125,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.ProxiedFilterChain","methodName":"doFilter","fileName":"ProxiedFilterChain.java","lineNumber":66,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AdviceFilter","methodName":"executeChain","fileName":"AdviceFilter.java","lineNumber":108,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AdviceFilter","methodName":"doFilterInternal","fileName":"AdviceFilter.java","lineNumber":137,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.OncePerRequestFilter","methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":125,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.ProxiedFilterChain","methodName":"doFilter","fileName":"ProxiedFilterChain.java","lineNumber":66,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AbstractShiroFilter","methodName":"executeChain","fileName":"AbstractShiroFilter.java","lineNumber":450,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AbstractShiroFilter$1","methodName":"call","fileName":"AbstractShiroFilter.java","lineNumber":365,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.subject.support.SubjectCallable","methodName":"doCall","fileName":"SubjectCallable.java","lineNumber":90,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.subject.support.SubjectCallable","methodName":"call","fileName":"SubjectCallable.java","lineNumber":83,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.subject.support.DelegatingSubject","methodName":"execute","fileName":"DelegatingSubject.java","lineNumber":387,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.AbstractShiroFilter","methodName":"doFilterInternal","fileName":"AbstractShiroFilter.java","lineNumber":362,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.shiro.web.servlet.OncePerRequestFilter","methodName":"doFilter","fileName":"OncePerRequestFilter.java","lineNumber":125,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","methodName":"doFilter","fileName":"ServletHandler.java","lineNumber":1638,"format":1},{"classLoaderName":"app","declaringClass":"org.apache.zeppelin.server.CorsFilter","methodName":"doFilter","fileName":"CorsFilter.java","lineNumber":64,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHandler$CachedChain","methodName":"doFilter","fileName":"ServletHandler.java","lineNumber":1638,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHandler","methodName":"doHandle","fileName":"ServletHandler.java","lineNumber":567,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"handle","fileName":"ScopedHandler.java","lineNumber":143,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.security.SecurityHandler","methodName":"handle","fileName":"SecurityHandler.java","lineNumber":602,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.HandlerWrapper","methodName":"handle","fileName":"HandlerWrapper.java","lineNumber":127,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"nextHandle","fileName":"ScopedHandler.java","lineNumber":235,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.session.SessionHandler","methodName":"doHandle","fileName":"SessionHandler.java","lineNumber":1610,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"nextHandle","fileName":"ScopedHandler.java","lineNumber":233,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ContextHandler","methodName":"doHandle","fileName":"ContextHandler.java","lineNumber":1377,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"nextScope","fileName":"ScopedHandler.java","lineNumber":188,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.servlet.ServletHandler","methodName":"doScope","fileName":"ServletHandler.java","lineNumber":507,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.session.SessionHandler","methodName":"doScope","fileName":"SessionHandler.java","lineNumber":1580,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"nextScope","fileName":"ScopedHandler.java","lineNumber":186,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ContextHandler","methodName":"doScope","fileName":"ContextHandler.java","lineNumber":1292,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ScopedHandler","methodName":"handle","fileName":"ScopedHandler.java","lineNumber":141,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.ContextHandlerCollection","methodName":"handle","fileName":"ContextHandlerCollection.java","lineNumber":234,"format":1},{"classLoaderName":"app","declaringClass":"io.micrometer.core.instrument.binder.jetty.TimedHandler","methodName":"handle","fileName":"TimedHandler.java","lineNumber":120,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.handler.HandlerWrapper","methodName":"handle","fileName":"HandlerWrapper.java","lineNumber":127,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.Server","methodName":"handle","fileName":"Server.java","lineNumber":501,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.HttpChannel","methodName":"lambda$handle$1","fileName":"HttpChannel.java","lineNumber":383,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.HttpChannel","methodName":"dispatch","fileName":"HttpChannel.java","lineNumber":556,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.HttpChannel","methodName":"handle","fileName":"HttpChannel.java","lineNumber":375,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.server.HttpConnection","methodName":"onFillable","fileName":"HttpConnection.java","lineNumber":273,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.AbstractConnection$ReadCallback","methodName":"succeeded","fileName":"AbstractConnection.java","lineNumber":311,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.FillInterest","methodName":"fillable","fileName":"FillInterest.java","lineNumber":105,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint","methodName":"onFillable","fileName":"SslConnection.java","lineNumber":540,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.ssl.SslConnection","methodName":"onFillable","fileName":"SslConnection.java","lineNumber":395,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.ssl.SslConnection$2","methodName":"succeeded","fileName":"SslConnection.java","lineNumber":161,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.FillInterest","methodName":"fillable","fileName":"FillInterest.java","lineNumber":105,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.io.ChannelEndPoint$1","methodName":"run","fileName":"ChannelEndPoint.java","lineNumber":104,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.strategy.EatWhatYouKill","methodName":"runTask","fileName":"EatWhatYouKill.java","lineNumber":336,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.strategy.EatWhatYouKill","methodName":"doProduce","fileName":"EatWhatYouKill.java","lineNumber":313,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.strategy.EatWhatYouKill","methodName":"tryProduce","fileName":"EatWhatYouKill.java","lineNumber":171,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.strategy.EatWhatYouKill","methodName":"produce","fileName":"EatWhatYouKill.java","lineNumber":135,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.QueuedThreadPool","methodName":"runJob","fileName":"QueuedThreadPool.java","lineNumber":806,"format":1},{"classLoaderName":"app","declaringClass":"org.eclipse.jetty.util.thread.QueuedThreadPool$Runner","methodName":"run","fileName":"QueuedThreadPool.java","lineNumber":938,"format":1},{"moduleName":"java.base","moduleVersion":"11.0.13","declaringClass":"java.lang.Thread","methodName":"run","fileName":"Thread.java","lineNumber":829,"format":2}],"suppressedExceptions":[]}
 {code}
 

 

 

 

 

 

 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to