JanusGraph / JanusGraph/janusgraph

janusgraph.graph.set-vertex-id not working with latest docker image

Open
#4,778 0 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.