Created 04-06-2017 08:48 AM
Atlas metadata is started but UI is not accessible :
Error log :
Exception in thread "main" java.lang.ExceptionInInitializerError at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.atlas.ApplicationProperties.getClass(ApplicationProperties.java:115) at org.apache.atlas.RepositoryMetadataModule.getDeleteHandlerImpl(RepositoryMetadataModule.java:148) at org.apache.atlas.RepositoryMetadataModule.configure(RepositoryMetadataModule.java:95) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.spi.Elements.getElements(Elements.java:110) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) at com.google.inject.Guice.createInjector(Guice.java:96) at com.google.inject.Guice.createInjector(Guice.java:84) at org.apache.atlas.web.listeners.GuiceServletConfig.getInjector(GuiceServletConfig.java:77) at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) at org.apache.atlas.web.listeners.GuiceServletConfig.contextInitialized(GuiceServletConfig.java:131) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:93) at org.apache.atlas.Atlas.main(Atlas.java:118) Caused by: com.esotericsoftware.kryo.KryoException: Buffer too small: capacity: 0, required: 1 at com.esotericsoftware.kryo.io.Input.require(Input.java:158) at com.esotericsoftware.kryo.io.Input.readVarInt(Input.java:355) at com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:109) at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:656) at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:767) at com.thinkaurelius.titan.graphdb.database.serialize.kryo.KryoSerializer.readClassAndObject(KryoSerializer.java:94) at com.thinkaurelius.titan.graphdb.database.serialize.StandardSerializer.readClassAndObject(StandardSerializer.java:102) at com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.staticBuffer2Object(KCVSConfiguration.java:252) at com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.toMap(KCVSConfiguration.java:187) at com.thinkaurelius.titan.diskstorage.configuration.backend.KCVSConfiguration.asReadConfiguration(KCVSConfiguration.java:194) at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1383) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:73) at org.apache.atlas.repository.graph.TitanGraphProvider.getGraphInstance(TitanGraphProvider.java:105) at org.apache.atlas.repository.graph.GraphHelper.getInstance(GraphHelper.java:94) at org.apache.atlas.repository.graph.DeleteHandler.<clinit>(DeleteHandler.java:50) ... 32 more
Created 04-06-2017 08:49 AM
Version HDP 2.5
Created 04-06-2017 02:52 PM
@Sebastien WAFFLART Are you using the HBase as backend? Looking at the stack trace it appears that TitanDB is having trouble initializing.
During startup Atlas tries to populate the backend database with default type information. During this time, it tries to connect to the database. The failure seems to be during that time.
Can you please give more information about your environment? Do you have access to the atlas-application.properties file on the server?
Created on 04-06-2017 03:54 PM - edited 08-18-2019 12:36 AM
Yes backend is HBASE 1.1.2 (HDP 2.5), REDHAT 7, security using Ranger is activated based on OpenLDAP.
Created 04-06-2017 03:54 PM
Created 04-08-2017 07:37 PM
@Sebastien WAFFLART This is still being investigated.
Created 04-08-2017 07:43 PM
Atlas uses titan as graphDB and titan in-turn uses apache tinkerpop for graph computing framework to query and store graph databases. The issue is coming from tinkerpop configuration where the default buffersize for the query response is configured to 4096.
If the response for the query is greater than 4096 bytes then it results in `KryoException` errors that complain of "Buffer too small". This issue can be fixed by configuring the buffer size value to desirable number, which is available in >= tinkerpop-3.0.2-incubating version. You can find more information about this issue at TINKERPOP-817 and documentation here.
In HDP-2.5 release, atlas uses tinkerpop version 2.6.0 and hence it manifests..
I have created bug to track and fix this in atlas. (https://issues.apache.org/jira/browse/ATLAS-1725).
Thanks for bringing this to our notice.
Created 04-12-2017 12:08 AM
@Sebastien WAFFLART - this error seems to be hit during Atlas startup. And value of capacity/required in the error message are too small - 0 and 1: "com.esotericsoftware.kryo.KryoException: Buffer too small: capacity: 0, required: 1".
I guess something else might be going on here. Can you attach Atlas log file to troubleshoot this further?
Created 04-14-2017 07:40 AM