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)