Date 1 - 2 of 2
JanusGraph Index Management
Shubhram Mohanty <mohanty...@...>
As I am using Janus as the graph database for our product, I have across numerous occasions where index is out of sync with the graph contents.
This in turn results into inconsistencies within the product. In order to handle this I am using the various utilities provided by Janus. Now, in scenarios
where there is no other option than to rebuild index, the first step that I perform here is disableIndex . This works well for smaller schema, but what I
observed recently is that when I perform the same on larger schema, the status of the index doesn't change from Installed to Disabled even after long wait.
As per IndexManagement link (https://docs.janusgraph.org/advanced-topics/index-admin/) , we can go for MapReduce option only for performing following actions :
I am using the following code for disabling index as suggested in documentation :
m = graph.openManagement()
nameIndex = m.getGraphIndex('name')
ManagementSystem.awaitGraphIndexStatus(graph, 'name').timeout(MAX_WAIT_TIME, ava.time.temporal.ChronoUnit.MINUTES).status(SchemaStatus.DISABLED).call()
Even, I tried increasing the MAX_WAIT_TIME here, but the status doesn't change to DISABLED.
This works perfectly fine for smaller schema.
So, is there a way we can distribute this operation? I could not find much information about this in JanusGraph documentation.
Pavel Ershov <owner...@...>
Index management can stuck when another graph instances exists but invalid. Try to check mgmt.getOpenInstances() and close invalid if exists throught mgmt.forceCloseInstance(). Some of issues already exists
https ://github.com/JanusGraph/janusgraph/issues/963, https://github.com/JanusGraph/janusgraph/issues/963
|1 - 2 of 2|