Prasad Wagle created ZEPPELIN-607:
-------------------------------------

             Summary: ZeppelinServer fails to start if one of the notes has 
duplicate title entries
                 Key: ZEPPELIN-607
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-607
             Project: Zeppelin
          Issue Type: Bug
          Components: zeppelin-server
            Reporter: Prasad Wagle


For some reason, one of our notes got two "title" entries:
      "config": {
        "enabled": true,
        "title": true,
        "title": true
      },

When we restarted the server, ZeppelinServer failed with the exception 
below..There are two issues:
1. Why the note had two "title" entries
2. How do we deal with this situation? Failing to restart seems extreme.

The workaround was to delete one of the title entries manually. We are trying 
to come up with the steps to create two title entries.

Exception:
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at 
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createSingletonInstance(CXFNonSpringJaxrsServlet.java:382)
        at 
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createApplicationInstance(CXFNonSpringJaxrsServlet.java:454)
        at 
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.createServerFromApplication(CXFNonSpringJaxrsServlet.java:432)
        at 
org.apache.cxf.jaxrs.servlet.CXFNonSpringJaxrsServlet.init(CXFNonSpringJaxrsServlet.java:93)
        at 
org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:532)
        at 
org.eclipse.jetty.servlet.ServletHolder.doStart(ServletHolder.java:344)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:791)
        at 
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
        at 
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:717)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.eclipse.jetty.server.handler.HandlerCollection.doStart(HandlerCollection.java:229)
        at 
org.eclipse.jetty.server.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:172)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
        at org.eclipse.jetty.server.Server.doStart(Server.java:282)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
        at 
org.apache.zeppelin.server.ZeppelinServer.main(ZeppelinServer.java:110)
Caused by: com.google.gson.JsonSyntaxException: duplicate key: title
        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.repo.VFSNotebookRepo.getNote(VFSNotebookRepo.java:159)
        at 
org.apache.zeppelin.notebook.repo.VFSNotebookRepo.getNoteInfo(VFSNotebookRepo.java:173)
        at 
org.apache.zeppelin.notebook.repo.VFSNotebookRepo.list(VFSNotebookRepo.java:128)
        at 
org.apache.zeppelin.notebook.repo.NotebookRepoSync.list(NotebookRepoSync.java:118)
        at org.apache.zeppelin.notebook.Notebook.loadAllNotes(Notebook.java:320)
        at org.apache.zeppelin.notebook.Notebook.<init>(Notebook.java:104)
        at 
org.apache.zeppelin.server.ZeppelinServer.<init>(ZeppelinServer.java:84)
        ... 22 more



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to