Hi,
we want to allow users to insert vertices and edges in our graph so that only they can access those vertices and edges. At the same time all users should be able to access the data that we generate during our automatic processing. For this reason, we would like to add a property UserIDs to each vertex and each edge with a default UserID that belongs to our automatic processing. (All data so far was inserted by our automatic processing, so we don't have to filter here.)
For a test graph with 100 k vertices and 200 k edges we could simply accomplish this with the following query:
uids = new int[1]
uids[0] = 0
g.V().property('UserIDs', uids).outE().property('UserIDs', uids).iterate()
But for our production environment, the query failed after about an hour with this exception:
org.apache.thrift.transport.TTransportException: Frame size (152315166) larger than max length (15728640)!
I assume this is related to:
https://groups.google.com/forum/#!topic/aureliusgraphs/WOUNNKf6Q8c and the
outE() lets Titan return all edges for the current vertex which can get pretty huge for super nodes. So, is there a way to iterate over all vertices and edges to add a property to each without actually retrieving all vertices and edges or at least only retrieve one vertex / edge at a time?
BTW: Does the exception really mean that we have a super node that has a size of 150 MB?
Regards,