You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "satish tvv (JIRA)" <ji...@apache.org> on 2019/04/11 07:28:00 UTC

[jira] [Created] (ZEPPELIN-4117) S3NotebookRepo skip corrupted notebook

satish tvv created ZEPPELIN-4117:
------------------------------------

             Summary: S3NotebookRepo skip corrupted notebook
                 Key: ZEPPELIN-4117
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-4117
             Project: Zeppelin
          Issue Type: Bug
          Components: Core
    Affects Versions: 0.8.1
            Reporter: satish tvv


we have configured  *S3NotebookRepo*. This implementation doesn't skip notebook which have failed in parsing the json.

One of our notebook json was corrupted while saving (Result field was written twice).So if we restart the notebook after this corruption the server gets started but UI is giving 503 Service unavailable. *VFSNotebookRepo* has implementation for failure in parsing of Notebook json

Following is the exception stacktrace:

WARN [2019-04-11 04:50:33,952] (\{main} WebAppContext.java[doStart]:554) - Failed startup of context o.e.j.w.WebAppContext@7714e963\{zeppelin-web,/,file:///var/run/zeppelin/webapps/webapp/,UNAVAILABLE}{/us

r/lib/zeppelin/zeppelin-web-0.8.1.war}

javax.servlet.ServletException: rest@355bd4==org.eclipse.jetty.servlet.NoJspServlet,jsp=rest,order=-1,inst=false,async=true

        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:693)

        at org.eclipse.jetty.servlet.ServletHolder.initialize(ServletHolder.java:429)

        at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$0(ServletHandler.java:750)

        at java.util.stream.SortedOps$SizedRefSortingSink.end(SortedOps.java:352)

        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)

        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)

        at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312)

        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:743)

        at java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:742)

        at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)

        at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:744)

        at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:368)

        at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1497)

        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1459)

        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:852)

        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:278)

        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)

        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)

        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)

        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)

        at org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:168)

        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:138)

        at org.eclipse.jetty.server.Server.start(Server.java:415)

        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:108)

        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)

        at org.eclipse.jetty.server.Server.doStart(Server.java:382)

        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)

        at org.apache.zeppelin.server.ZeppelinServer.main(ZeppelinServer.java:241)

 

Caused by: A MultiException has 1 exceptions.  They are:

1. com.google.gson.JsonSyntaxException: duplicate key: results

        at org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:1085)

        at org.jvnet.hk2.internal.ServiceLocatorImpl.create(ServiceLocatorImpl.java:978)

        at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1082)

        at org.jvnet.hk2.internal.ServiceLocatorImpl.createAndInitialize(ServiceLocatorImpl.java:1074)

        at org.glassfish.jersey.inject.hk2.AbstractHk2InjectionManager.createAndInitialize(AbstractHk2InjectionManager.java:213)

        at org.glassfish.jersey.inject.hk2.ImmediateHk2InjectionManager.createAndInitialize(ImmediateHk2InjectionManager.java:54)

        at org.glassfish.jersey.server.ApplicationConfigurator.createApplication(ApplicationConfigurator.java:138)

        at org.glassfish.jersey.server.ApplicationConfigurator.init(ApplicationConfigurator.java:96)

        at org.glassfish.jersey.server.ApplicationHandler.lambda$initialize$0(ApplicationHandler.java:313)

        at java.util.Arrays$ArrayList.forEach(Arrays.java:3880)

        at org.glassfish.jersey.server.ApplicationHandler.initialize(ApplicationHandler.java:313)

        at org.glassfish.jersey.server.ApplicationHandler.<init>(ApplicationHandler.java:282)

        at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:335)

        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:178)

        at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:370)

        at javax.servlet.GenericServlet.init(GenericServlet.java:244)

        at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:672)

        ... 29 more

Caused by: com.google.gson.JsonSyntaxException: duplicate key: results

        at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:191)

        at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:146)

        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)

        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)

        at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)

        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:81)

        at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:60)

        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)

        at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)

        at com.google.gson.Gson.fromJson(Gson.java:791)

        at com.google.gson.Gson.fromJson(Gson.java:757)

        at com.google.gson.Gson.fromJson(Gson.java:706)

        at com.google.gson.Gson.fromJson(Gson.java:678)

        at org.apache.zeppelin.notebook.Note.fromJson(Note.java:988)

        at org.apache.zeppelin.notebook.repo.S3NotebookRepo.getNote(S3NotebookRepo.java:210)

        at org.apache.zeppelin.notebook.repo.S3NotebookRepo.getNoteInfo(S3NotebookRepo.java:215)

        at org.apache.zeppelin.notebook.repo.S3NotebookRepo.list(S3NotebookRepo.java:185)

        at org.apache.zeppelin.notebook.repo.NotebookRepoSync.list(NotebookRepoSync.java:152)

        at org.apache.zeppelin.notebook.Notebook.loadAllNotes(Notebook.java:587)

        at org.apache.zeppelin.notebook.Notebook.<init>(Notebook.java:124)

        at org.apache.zeppelin.server.ZeppelinServer.<init>(ZeppelinServer.java:168)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

        at org.glassfish.hk2.utilities.reflection.ReflectionHelper.makeMe(ReflectionHelper.java:1375)

        at org.jvnet.hk2.internal.Utilities.justCreate(Utilities.java:1083)

        ... 45 more

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)