Strange graph inconsistency, asking two vertices of an edge about the edge gives different response

43 views
Skip to first unread message

Kevin Schmidt

unread,
Feb 25, 2015, 8:20:16 PM2/25/15
to aureliu...@googlegroups.com
I have a graph that has been populated by my application with a variety of vertices and edges which seems fine.  But when I do some queries for edges between the vertices, I'm getting inconsistent responses that are confusing if not alarming.

I have vertex (ID 512) that should have edges to all my "person" vertices (IDs 2560768 and 5121024).  If I use Rexster to retrieve the edges from either person vertex, I see the edge between it and 512.


{
Create_Time: 1424846541274,
_id: "1iw1s-e8-1st1-1ivwg",
_type: "edge",
_outV: 512,
_inV: 2560768,
_label: "Capture"
}


{
Create_Time: 1424905386647,
_id: "4kmtc-e8-1st1-31reo",
_type: "edge",
_outV: 512,
_inV: 5121024,
_label: "Capture"
}

All is fine so far.  I'd expect I could issue a request to http://localhost:8182/graphs/graph/vertices/512/bothE and see both edges returned, however, I only get one of them:

{
Create_Time: 1424846541274,
_id: "1iw1s-e8-1st1-1ivwg",
_type: "edge",
_outV: 512,
_inV: 2560768,
_label: "Capture"
}

The edge between 512 and 5121024 is missing!  Further, if I just do a query on all the edges with http://localhost:8182/graphs/graph/edges I see the edge with ID 1iw1s-e8-1st1-1ivwg but edge ID 4kmtc-e8-1st1-31reo is not in the list.

I am issuing all of the queries through the same browser and Rexster so I would not think there is any transaction or locking issue.

How can this be?  Is there an explanation for this type of inconsistency?  If I can't ask two vertices about their edges and get a consistent answer, something seems seriously wrong.

Should I try using a different API (I've done Gremlin through Rexster and seen the same results already)?  Is there anything that can be interrogated at a lower level to see what is going on?

I am using Titan 0.5.3 with a single Cassandra node, so if there is anything config related that I need to look at let me know.

Thanks,

Kevin

Stephen Mallette

unread,
Feb 28, 2015, 9:02:49 AM2/28/15
to aureliu...@googlegroups.com
That's a strange one.  I would expect all of those edges to be returned unless there was a limit applied in the query string arguments (which you aren't doing obviously).  How are you creating the vertices/edges? Is this easy to recreate?  Can you provide some exact reproduction steps?

--
You received this message because you are subscribed to the Google Groups "Aurelius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to aureliusgraph...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/aureliusgraphs/826275c9-5567-46f3-90c5-6ba27403d943%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Kevin Schmidt

unread,
Feb 28, 2015, 6:37:37 PM2/28/15
to aureliu...@googlegroups.com
I haven't yet specifically tried to create a standalone reproduction that I could share, I may try to do that this weekend.

However, rather than using Rexster, I wrote a client that uses the Tinkerpop Java API to do an integrity check (go through all vertices and verify all edges go both directions and are present when searched by ID) and using this, everything looks ok.  So it seems to be something with Rexster which is still a bit concerning, but less so for our application as the "real" APIs we have use the Java API and we just use Rexster for looking around with a traversal tool we wrote.

Stephen Mallette

unread,
Feb 28, 2015, 7:02:25 PM2/28/15
to aureliu...@googlegroups.com
we've seen this behavior in the past, but i thought it was taken care of as of Rexster 2.4.x (or earlier).  the problem usually relates to transactions not closing properly somewhere in the Rexster API, but I thought we'd closed off all avenues to such problems.  if you can still reproduce it, that would be a bug i'd like to know about.  as of right now, i can't seem to be able to, so if you can it would be great to know what those steps are.  



Reply all
Reply to author
Forward
0 new messages