JanusGraph / JanusGraph/janusgraph
janusgraph.graph.set-vertex-id not working with latest docker image
Open
Nobody has claimed this yet.
kind/bug/possible
- Dominant language
- Java
- Stars
- 5.8k
- Forks
- 1.2k
- Avg merge
- 13h 53m
- Merged PRs (30d)
- 6
Description
Exception using custom vertex IDs in latest JG docker image, works in 1.1.0.
- Version: latest
- Storage Backend: in-memory
JG is started via Docker-Compose with the following configuration:
graph-db:
image: janusgraph/janusgraph:latest
ports:
- '8182:8182'
environment:
janusgraph.graph.set-vertex-id: 'true'
janusgraph.graph.allow-custom-vid-types: 'true'
JANUS_PROPS_TEMPLATE: 'inmemory'
Stack Trace (if you have one)
Attempts to create a vertex with a user-supplied ID results in the following Exception:
statusCode: 500,
statusMessage: 'Vertex does not support user supplied identifiers',
statusAttributes: Map(2) {
'stackTrace' => 'java.lang.UnsupportedOperationException: Vertex does not support user supplied identifiers\n' +
'\tat org.apache.tinkerpop.gremlin.structure.Vertex$Exceptions.userSuppliedIdsNotSupported(Vertex.java:163)\n' +
'\tat org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsTransaction.addVertex(JanusGraphBlueprintsTransaction.java:119)\n' +
'\tat org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.addVertex(JanusGraphBlueprintsGraph.java:143)\n' +
'\tat org.janusgraph.graphdb.tinkerpop.JanusGraphBlueprintsGraph.addVertex(JanusGraphBlueprintsGraph.java:59)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.step.map.AddVertexStartStep.processNextStart(AddVertexStartStep.java:109)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:155)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.next(ExpandableStepIterator.java:55)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.step.filter.FilterStep.processNextStart(FilterStep.java:40)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:155)\n' +
'\tat org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:192)\n' +
'\tat org.apache.tinkerpop.gremlin.server.util.TraverserIterator.fillBulker(TraverserIterator.java:63)\n' +
'\tat org.apache.tinkerpop.gremlin.server.util.TraverserIterator.hasNext(TraverserIterator.java:50)\n' +
'\tat org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor.handleIterator(SessionOpProcessor.java:614)\n' +
'\tat org.apache.tinkerpop.gremlin.server.op.session.SessionOpProcessor.lambda$iterateBytecodeTraversal$5(SessionOpProcessor.java:419)\n' +
'\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n' +
'\tat java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)\n' +
'\tat java.base/java.util.concurrent.FutureTask.run(Unknown Source)\n' +
'\tat java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)\n' +
'\tat java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)\n' +
'\tat java.base/java.lang.Thread.run(Unknown Source)\n',
'exceptions' => [ 'java.lang.UnsupportedOperationException' ]
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the custom vertex ID failure with the supplied Docker Compose configuration, comparing the latest image with version 1.1.0. Read the JanusGraphBlueprintsTransaction.addVertex stack-trace entry and trace how the two custom-ID settings are handled; done means user-supplied IDs work with the documented configuration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, docker-compose, java
- Domain
- databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100