Removed graphs still open in muti node cluster


lixu
 

Hi, I'm using JnausGraphManager and JanusGraphWsAndHttpChannelizer to manage dynamic graph operating.
When dropping graph in multi-nodes cluster, removed graphs only closed in specific node, the removed graphs are still open in other nodes.
 
Version: 0.5.3 
Storage Backend: Hbase
Mixed Index Backend: elasticsearch
Expected Behavior: all nodes in cluster should close the removed graphs
Current Behavior: only the node executing dropping script close the removed graphs
 
Related codes:
JanusGraphManager:
 
    private class GremlinExecutorGraphBinder implements Runnable {
        final JanusGraphManager graphManager;
        final GremlinExecutor gremlinExecutor;
 
        public GremlinExecutorGraphBinder(JanusGraphManager graphManager, GremlinExecutor gremlinExecutor) {
            this.graphManager = graphManager;
            this.gremlinExecutor = gremlinExecutor;
        }
 
        @Override
        public void run() {
            ConfiguredGraphFactory.getGraphNames().forEach(it -> {
                try {
                    final Graph graph = ConfiguredGraphFactory.open(it);
                    updateTraversalSource(it, graph, this.gremlinExecutor, this.graphManager);
                } catch (Exception e) {
                    // cannot open graph, do nothing
                    log.error(String.format("Failed to open graph %s with the following error:\n %s.\n" +
                    "Thus, it and its traversal will not be bound on this server.", it, e.toString()));
                }
            });
        }
    }
 
In above codes, run() method will get all the graph names from hbase, so it could find all the added graphs, 
but those graphs removed from the other nodes are still open in current node.
 
 
 
 

Join {janusgraph-users@lists.lfaidata.foundation to automatically receive all group messages.