Vertex ID collisions
Hello!
I'm following up on my questions from Migrating from Bigtable to Cassandra and questionsUsing custom vertex IDs for import/export
We want to migrate our existing JanusGraph from Bigtable to Cassandra.
One of the hypothesis was to try and leverage JG 1.0 custom vertex IDs, to import a GraphSON file while keeping the original IDs.
The experiment went like this:
The show-stopper came later, when we tried resuming our business logic, we started experiencing vertex lack-of-collisions.
New vertices would get IDs of existing vertices and overwrite them, resulting in a corrupteg graph.
Some thing we experimented with, that did not work
I know that jumping between JG versions doesn't sound like a great idea, but we still working on migrating out python codebase to Tinkerpop 3.7.0
many thanks in advance!
I'm following up on my questions from Migrating from Bigtable to Cassandra and questionsUsing custom vertex IDs for import/export
We want to migrate our existing JanusGraph from Bigtable to Cassandra.
One of the hypothesis was to try and leverage JG 1.0 custom vertex IDs, to import a GraphSON file while keeping the original IDs.
The experiment went like this:
- Export graph with JG 0.6, using
graph.io(graphson()).writeGraph("/tmp/my-graph.json") - Bootstrap a JG 1.0 insance against Cassandra, setting
graph.set-vertex-idto
.true - Importing the graph with
graph.io(IoCore.graphson()).readGraph('/tmp/my-graph.json')(we make sure to call graph.tx().commit()at the end) - Rebuilding our Elastic indices.
- Setting
graph.set-vertex-idto false and shutting down the instance. - Bring back JG 0.6.4 working with Cassandra, and resume operation.
The show-stopper came later, when we tried resuming our business logic, we started experiencing vertex lack-of-collisions.
New vertices would get IDs of existing vertices and overwrite them, resulting in a corrupteg graph.
Some thing we experimented with, that did not work
- Explicitly setting
"ids.authority.conflict-avoidance-mode")toGLOBAL_AUTO. - Increasing
ids.block-sizeto a number slightly higher than the number of vertices we import (~26,000)
I know that jumping between JG versions doesn't sound like a great idea, but we still working on migrating out python codebase to Tinkerpop 3.7.0
many thanks in advance!