Uploaded image for project: 'Falcon'
  1. Falcon
  2. FALCON-1984

Provide proper hint and documentation if required titan storage backend is not configured in startup.properties

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • trunk, 0.10
    • None
    • None

    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

          Activity

            People

              ying-eng Ying Zheng
              ying-eng Ying Zheng
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: