OK, I tried two things. I start with the janusgraph-full-0.5.3 distribution and run (this has gremlin server running with conf/janusgraph-cql-es.properties): $ bin/janusgraph.sh start
Now I start a gremlin console and I do:
1. graph = JanusGraphFactory.open('conf/janusgraph-cql-es2.properties') In this case I made a copy of onf/janusgraph-cql-es.properties') and gave elasticsearch a non-existing ip address. This gives the following stacktrace:
17:32:19 WARN org.janusgraph.diskstorage.es.rest.RestElasticSearchClient - Unable to determine Elasticsearch server version. Default to SEVEN. java.net.ConnectException: Connection refused at org.elasticsearch.client.RestClient.extractAndWrapCause(RestClient.java:823) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:248) at org.elasticsearch.client.RestClient.performRequest(RestClient.java:235) at org.janusgraph.diskstorage.es.rest.RestElasticSearchClient.getMajorVersion(RestElasticSearchClient.java:137) at org.janusgraph.diskstorage.es.rest.RestElasticSearchClient.<init>(RestElasticSearchClient.java:117) at org.janusgraph.diskstorage.es.rest.RestClientSetup.getElasticSearchClient(RestClientSetup.java:107) at org.janusgraph.diskstorage.es.rest.RestClientSetup.connect(RestClientSetup.java:75) at org.janusgraph.diskstorage.es.ElasticSearchSetup$1.connect(ElasticSearchSetup.java:51) at org.janusgraph.diskstorage.es.ElasticSearchIndex.interfaceConfiguration(ElasticSearchIndex.java:445) at org.janusgraph.diskstorage.es.ElasticSearchIndex.<init>(ElasticSearchIndex.java:332) (...) at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234) at org.apache.tinkerpop.gremlin.console.Console.<init>(Console.groovy:168) at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:234) at org.apache.tinkerpop.gremlin.console.Console.main(Console.groovy:502) Caused by: java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:716) at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvent(DefaultConnectingIOReactor.java:174) at org.apache.http.impl.nio.reactor.DefaultConnectingIOReactor.processEvents(DefaultConnectingIOReactor.java:148) at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:351) at org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221) at org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64) at java.lang.Thread.run(Thread.java:748) Could not instantiate implementation: org.janusgraph.diskstorage.es.ElasticSearchIndex
This sounds like the stacktrace you encountered. It does show that janusgraph uses the local properties file. The GLOBAL OFFLINE looks more like a warning that you cannot use heterogenous indexing backend configs and get consistent results. Are you sure your corrected configs are right?
2. graph = JanusGraphFactory.open('conf/janusgraph-cql.properties') This simply opens the graph without using the indexing backend. So, it is possible to still open the graph.