-
Notifications
You must be signed in to change notification settings - Fork 871
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gremlin driver returns invalid RID's (at least when called using Bytecode streams) #8137
Comments
from gremlin console ? or rest api? or websocket? Thanks |
hi @maggiolo00. Web socket it is ... Cheers Bert |
did you install the driver in the gremlin server or |
@maggiolo00 I'm using the embedded version ... Actually I only added a new database and pointed the "g" global to it I send this ...
... and receive this ...
Actualy RID in the database is: #40:5 As you can see the "label" is also empty (which should be "person"??) |
@maggiolo00 Ok, got some more info for you ... It seems the RID I get from g.addV() is something temporary, because when I retrieve the Vertex with some kind of other unique property I get the right RID. But, the label property is still empty Cheers Bert |
let me check it. Thanks |
Ok Another observation ... when updating a vertex or adding an edge between two vertices I get a version conflict when trying to access either of the two involved vertices ... To overcome that I have to either reload the vertices or restart the whole server ... I guess this has something to do with "Gremlin"-side caching?? Cheers and happy hunting ... |
How do you update/ add edge? |
Adding/update an edge with something like:
When trying to execute this command I need to reload the vertex with id1 and id2. If I don't do this and I would try to add another edge to f.e. id1 I get a version conflict exception. Same for g.V().drop() or any other command that involves vertices with updated versions ... Cheers |
i've found the problem for For the rids problem, i've reproduced it . Seems more difficult to solve. The problem that i discovered in a debug session is that the result of the traversal (addV in your case) Let me check for possible solutions Thanks |
Ok tnx ... If I come across more issues I will let you know |
hi @maggiolo00 I think I found another issue... It concerns path traversal... Let me explain Suppose I have 4 vertices (v1 up-to v4) which have following edges: Now I want all paths from v1 to any "ending" vertex where the edge weight must be greater than 0.1
I get:
which is the wanted answer, but with OrientDB I get:
It seems that the until() is short circuiting prematurely... Or, if I'm wrong ... do you have a better solution for this? /Cheers |
thanks for reporting this i will dig on it tomorrow |
which was the condition that you tried in the Thanks |
@maggiolo00
|
@maggiolo00 Rectification ...
|
i've run this script for populating your test graph
and the run
The result seems correct. Do you have a script to reproduce the issue? Thanks |
Hi @maggiolo00, Hmmmm, it seems something else is the problem ... When I run the script multiple times with
With Hope this helps Cheers |
i've tried also with
seems to get always (#4) Do you think you can share a dataset and a configuration to reproduce this? Thanks |
Hi @maggiolo00 Sure ... Dataset is as described in previous posts... So nothing facy Cheers Bert |
@wolf4ood I'm facing the same issue, i get this temporary RID when created a new vertex. But how do i get the actual id of the created vertex? |
OrientDB Version: 3.0.0RC2
Java Version: 9.0.1
OS: Windows 10 Enterprise
Expected behavior
When adding a vertex using Germlin's g.addV() (using 'Bytecode') I expect that the RID that is returned is a RID which I can use to find the vertex using g.V()
Actual behavior
When I add a new vertex with Gremlin's g.addV() I get a RID that has a cluster position value of -2. Hence I can't find the vertex with g.V() and adding edges therefore all fail (or every other action I try to do using RID's)
Steps to reproduce
The text was updated successfully, but these errors were encountered: