ConfigurationManagementGraph fails with Must provide vertex id
I am new to the JanusGraph. Trying to create dynamic graphs.
I couldn't create configuration template. Am I missing anything. Thanks
My config:
graphManager: org.janusgraph.graphdb.management.JanusGraphManager
graphs: {
ConfigurationManagementGraph: /etc/opt/janusgraph/janusgraph-cql-configuration.server.properties,
graph: /etc/opt/janusgraph/janusgraph-cql-server.properties
}
janusgraph-cql-configuration.server.properties: |
gremlin.graph = org.janusgraph.core.ConfiguredGraphFactory
storage.backend = cql
graph.graphname = ConfigurationManagementGraph
gremlin> map = new HashMap();
gremlin> map.put('storage.backend', 'cql');
==>null
gremlin> map.put('storage.hostname', 'scylla-scylladb');
==>null
gremlin> ConfiguredGraphFactory.createTemplateConfiguration(new MapConfiguration(map));
Must provide vertex id
5 Replies
Don't use the same
/etc/opt/janusgraph/janusgraph-cql-server.properties
for ConfigurationManagementGraph
and graph
.
ConfigurationManagementGraph
is like a meta-graph that stores metadata about each of your real graphs. This meta-graph is internally managed by JanusGraph and must not set graph.set-vertex-id=true
or graph.allow-custom-vid-types=true
I'll send out a PR to provide a less confusing error message.@Bo Thanks for looking into this. Now I have different properties files for ConfigurationManagementGraph and graph like this
ConfigurationManagementGraph: /etc/opt/janusgraph/janusgraph-cql-configuration.server.properties,
graph: /etc/opt/janusgraph/janusgraph-cql-server.properties
}
janusgraph-cql-configuration.server.properties: |
gremlin.graph = org.janusgraph.core.ConfiguredGraphFactory
storage.backend = cql
graph.graphname = ConfigurationManagementGraphAre you doing this from scratch? If you've run this before, the database properties would have been persisted, and changing config files won't make any difference
How to override these properties? if restart wouldn't work. Do I need to clean them form DB?
If you don't care about your data, then deleting the data in DB entirely would be the quickiest way