I am trying to use Titan 0.5 GA with hbase as backend and using Graph of Gods sample program to test it. When I run the java program it worked fine, however when I wrote the same program in Scala (2.11 version) then I get the above error for hbase configuration element for property "storage.hbase.table".
My test code -
def create(): TitanGraph = {
println("Building Titan Graph - GreekGods")
var config:TitanFactory.Builder = TitanFactory.build()
config.set("storage.backend","hbase")
config.set("storage.hostname","localhost")
config.set("storage.hbase.table","GreekGods") // this is the line where exception is thrown for hbase being part of "storage.hbase.table" property name
println("Opening Titan Graph - GreekGods")
var graph:TitanGraph = config.open()
println("Loading Titan Graph - GreekGods")
//GraphOfTheGodsFactory1.load(graph)
return graph
}
Error I am getting -
[error] (run-main-0) java.lang.IllegalArgumentException: Unknown configuration element in namespace [root.storage]: hbase
java.lang.IllegalArgumentException: Unknown configuration element in namespace [root.storage]: hbase
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:120)
at com.thinkaurelius.titan.diskstorage.configuration.ConfigElement.parse(ConfigElement.java:168)
at com.thinkaurelius.titan.diskstorage.configuration.UserModifiableConfiguration.set(UserModifiableConfiguration.java:81)
at com.thinkaurelius.titan.core.TitanFactory$Builder.set(TitanFactory.java:124)
at GraphOfTheGodsFactory1$.create(GraphOfTheGodsFactory1.scala:21)
at GraphOfTheGodsFactory1$.main(GraphOfTheGodsFactory1.scala:133)
at GraphOfTheGodsFactory1.main(GraphOfTheGodsFactory1.scala)
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)