[
https://issues.apache.org/jira/browse/TINKERPOP-2286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16912639#comment-16912639
]
Xin Wei commented on TINKERPOP-2286:
------------------------------------
But in the graph migration case, if the user import graph from a source which
has numeric ids into a target only allows string id. The target graph would
replace the numeric id with some internal ids and won't raise any exception to
the user. The user would assume the graph import was successful and tries to
get the vertices with the old ids but then realized that all the ids have been
changed with some random internal ids. I think it would cause a great pain for
the users.
> ID type support bug causing regression when loading data
> --------------------------------------------------------
>
> Key: TINKERPOP-2286
> URL: https://issues.apache.org/jira/browse/TINKERPOP-2286
> Project: TinkerPop
> Issue Type: Bug
> Components: structure
> Affects Versions: 3.4.3
> Environment: Linux
> Reporter: Xin Wei
> Priority: Blocker
>
> Our provider version only supports string id, however when loading data with
> numeric ids via g.io().read().iterate() the DB didn't error out, but assigned
> random ids to those vertices with numeric ids, causing regression.
> The cause is :
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/Graph.java#L803]
>
> The allowId() method returns false when supportsStringIds() returns true and
> id is not instance of string.
> Then this method:
> [https://github.com/apache/tinkerpop/blob/master/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/util/Attachable.java#L291]
> will not pass id into Graph.addVertex() method, making underlying method
> assign internal ids to the vertex, causing regression between the data we
> load and the data we store in the DB.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)