{"action":"closed","issue":{"url":"https://api.github.com/repos/arangodb/arangodb/issues/1415","labels_url":"https://api.github.com/repos/arangodb/arangodb/issues/1415/labels{/name}","comments_url":"https://api.github.com/repos/arangodb/arangodb/issues/1415/comments","events_url":"https://api.github.com/repos/arangodb/arangodb/issues/1415/events","html_url":"https://github.com/arangodb/arangodb/issues/1415","id":95081164,"number":1415,"title":"RangeError: Invalid string length on large traversal","user":{"login":"hfaran","id":2450496,"avatar_url":"https://avatars.githubusercontent.com/u/2450496?v=3","gravatar_id":"","url":"https://api.github.com/users/hfaran","html_url":"https://github.com/hfaran","followers_url":"https://api.github.com/users/hfaran/followers","following_url":"https://api.github.com/users/hfaran/following{/other_user}","gists_url":"https://api.github.com/users/hfaran/gists{/gist_id}","starred_url":"https://api.github.com/users/hfaran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hfaran/subscriptions","organizations_url":"https://api.github.com/users/hfaran/orgs","repos_url":"https://api.github.com/users/hfaran/repos","events_url":"https://api.github.com/users/hfaran/events{/privacy}","received_events_url":"https://api.github.com/users/hfaran/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-07-15T01:28:47Z","updated_at":"2015-10-12T09:20:58Z","closed_at":"2015-10-12T09:20:58Z","body":"Hello,\r\n\r\n### Issue\r\n\r\nThis issue is related to #1352. In our case, when performing a particularly large traversal using `_api/traversal` (in our case, it is an outbound traversal from a vertex that has 500~1200 edges), it seems that the response is too large and the V8 worker performing the serialization throws a `RangeError: Invalid string length` and is unable to return the response.\r\n\r\n\r\n### Possible Solutions\r\n\r\nThere a few ways I can think of working around this:\r\n\r\n1. Allowing transformations/filtering on returned vertices as a way of reducing the response size\r\n    * For example, having the vertices only return their `_key` instead of the entire body, which would significantly reduce the response size for us\r\n    * This **might** be currently possible by providing a `visitor` function to the `_api/traversal` body but I'm unsure of this from [the docs](https://docs.arangodb.com/HttpTraversal/index.html).\r\n2. Allowing pagination from the traversal query using `LIMIT` (such as can be done with queries) or something similar so that the traversal result can be retrieved over several responses that are successfully serializable.\r\n3. Configuring V8 with a higher limit\r\n    * I don't know if this is possible at all with V8 :/\r\n    * 256MB does seem a little small though; it's curious why this is the set limit. And that we are hitting it with a traversal with just over a thousand vertices is especially limiting.\r\n\r\nThanks in advance for your help with this. :smiley: "}}