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)

Reply via email to