JanusGraph/janusgraph

An ambiguous error message【Vertex with given id already exists:xxx】

Open

#3013 aperta il 17 apr 2022

Vedi su GitHub
 (1 commento) (0 reazioni) (0 assegnatari)Java (1137 fork)batch import
area/docsgood first issue

Metriche repository

Star
 (4985 star)
Metriche merge PR
 (Merge medio 3g 18h) (12 PR mergiate in 30 g)

Descrizione

  • Version: 0.6.1

  • Storage Backend: cql

    When I insert this data repeatedly, it prompts me: Vertex with given id already exists: 256, actually myID is 1, I think this hint is ambiguous, and it interferes with debugging by myID

    long vertexId = ((StandardJanusGraph) graph).getIDManager().toVertexId(1L);
    g.addV().property(T.id, vertexId).next();
    g.tx().commit();

... at org.janusgraph.graphdb.transaction.StandardJanusGraphTx.addVertex(StandardJanusGraphTx.java:584) ...

Line 582 tells you that the vertexId belongs to NormalVertex, and if it can be converted to myID instead of vertexId when prompted by line 584

582  Preconditions.checkArgument(vertexId == null || IDManager.VertexIDType.NormalVertex.is(vertexId), "Not a valid vertex id: %s", vertexId);
583  Preconditions.checkArgument(vertexId == null || ((InternalVertexLabel)label).hasDefaultConfiguration(), "Cannot only use default vertex labels: %s",label);
584  Preconditions.checkArgument(vertexId == null || !config.hasVerifyExternalVertexExistence() || !containsVertex(vertexId), "Vertex with given id already exists: %s", vertexId);

Thanks to the development team for their contribution!

Guida contributor