results never returning when vertices in a range contain large amounts of data


shapeshifter <shapesh...@...>
 

We have graphs with a relatively small number of vertices (10s or 100s of thousands at most). But some of these vertices have one or two properties with a great amount of data in them (often several megabytes), and these are often clumped together within the graph.

We have created paginated queries for pulling (typically) 1000 results at a time, but we often hit a range where the result set never returns. It doesn't time out, or error, it just never returns anything. 

This happens with page ranges as low as 50. There are even occasions when results are returned, but we don't get the full result (strangely there are always 64 missing, regardless of the range asked for). Restarting the server does allow slightly larger page ranges to be returned, for a while, before it degrades to as it was.

The results are perfectly repeatable. In one graph, there seems to be a particular glut of data around 700-900 vertices in. So if I ask for a range of e.g. 100, it will get to 700 easily, then never return the next 100. And if I ask for 250, it will return 750 no problem, but never the next 250.

The closest I have seen to an error for this are 'writeBufferHighWaterMark exceeded' warnings in the logs, but these don't match up particularly well (or appear at all) with the problem ranges, so may be a red herring.

This is all from gremlin.net, but I recreated the same traversals on the gremlin console which gave me:
CorruptedFrameException: Max frame length of 65536 has been exceeded

On changing maxContentLength to something much larger, I was then able to retrieve any vertex with no problem. I expected I would be able to configure Gremlin.net accordingly, but I can't find any such setting or similar.

There is nothing wrong with the traversal, per se. I can retrieve 10s of thousands of results at once if I just limit the vertex properties.

I should point out we are using an aging version of Janusgraph (0.3.1), but we are reluctant to upgrade unless we know for sure it would fix this problem. Also, there are no other users on this particular instance, so the only activity on the server is my own.