Description
We require the user to choose either HBase or BDB as titan storage backend, which is not set by default in startup.properties. The current Falcon only shows the following error in the log if the user doesn't configure the storage backend and start falcon with default startup.properties. This is not intuitive for the user to understand the server start error. Should provide proper hint and documentation.
2016-05-26 02:24:07,419 ERROR - [main:] ~ Failed to initialize service org.apache.falcon.metadata.MetadataMappingService (ServiceInitializer:49)
java.lang.RuntimeException: GraphFactory could not instantiate this Graph implementation [com.thinkaurelius.titan.core.TitanFactory].
at com.tinkerpop.blueprints.GraphFactory.open(GraphFactory.java:50)
at org.apache.falcon.metadata.MetadataMappingService.initializeGraphDB(MetadataMappingService.java:123)
at org.apache.falcon.metadata.MetadataMappingService.init(MetadataMappingService.java:90)
at org.apache.falcon.service.ServiceInitializer.initialize(ServiceInitializer.java:47)
at org.apache.falcon.listener.ContextStartupListener.contextInitialized(ContextStartupListener.java:56)
at org.mortbay.jetty.handler.ContextHandler.startContext(ContextHandler.java:550)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:136)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1282)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:519)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:499)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130)
at org.mortbay.jetty.Server.doStart(Server.java:224)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.apache.falcon.util.EmbeddedServer.start(EmbeddedServer.java:57)
at org.apache.falcon.FalconServer.main(FalconServer.java:118)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.tinkerpop.blueprints.GraphFactory.open(GraphFactory.java:45)
... 15 more
Caused by: java.lang.IllegalStateException: Need to set configuration value: root.storage.backend
at com.google.common.base.Preconditions.checkState(Preconditions.java:172)
at com.thinkaurelius.titan.diskstorage.configuration.ConfigOption.get(ConfigOption.java:158)
at com.thinkaurelius.titan.diskstorage.configuration.BasicConfiguration.get(BasicConfiguration.java:56)
at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:361)
at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.<init>(GraphDatabaseConfiguration.java:1275)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93)
at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:73)
... 20 more
Attachments
Issue Links
- relates to
-
FALCON-1858 Support HBase as a storage backend for Falcon Titan graphDB
- Resolved
- links to