Uploaded image for project: 'Zeppelin'
  1. Zeppelin
  2. ZEPPELIN-4117

S3NotebookRepo skip corrupted notebook

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.8.1
    • None
    • Core
    • None

    Description

      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

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            satishtvv satish tvv
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: