ArangoDB Graph Traversal fails inspite of increased heap size












0















ArangoDB Version: 3.3.14



Heap Statistics for application:
{ total_heap_size: 39108608,
total_heap_size_executable: 3670016,
total_physical_size: 37433512,
total_available_size: 8735662896,
used_heap_size: 28891504,
heap_size_limit: 8769069275,
malloced_memory: 16384,
peak_malloced_memory: 168484640,
does_zap_garbage: 0 }



I have a traversal api which traverses through 3 vertices and returns around 300 document vertices.
For 200 I get the proper response but when I increase the number of vertices to 300, the traversal api throws an error invalid string length. I have increased the heap space for application to 8GB but as can be seen below the heap_used is way far too less. I am quite not sure if this issue is during serialization to JSON as there is sufficient heap memory available or are there any other options available to get the complete data.



AQL query (if applicable):
{"request":{"vertex":"start_vertex","start_vertex":"service_teams/9a2e582997494bee9066bbcf2aa52218","start_vertices":null,"opts":{"expander":"var connections = ;n config.datasource.getOutEdges(vertex).forEach(function (e) {n if( (e._id.indexOf("loc_has_parent_loc") > -1) || (e._id.indexOf("loc_is_associated_with_org") > -1) || (e._id.indexOf("st_is_allocated_loc") > -1) ) {n connections.push({ vertex: require("internal").db._document(e._to), edge: e});n }n });n return connections;"},"collection_name":"","edge_name":"","data":true,"path":false}},"err":{"code":500,"message":"Invalid string length"}}










share|improve this question



























    0















    ArangoDB Version: 3.3.14



    Heap Statistics for application:
    { total_heap_size: 39108608,
    total_heap_size_executable: 3670016,
    total_physical_size: 37433512,
    total_available_size: 8735662896,
    used_heap_size: 28891504,
    heap_size_limit: 8769069275,
    malloced_memory: 16384,
    peak_malloced_memory: 168484640,
    does_zap_garbage: 0 }



    I have a traversal api which traverses through 3 vertices and returns around 300 document vertices.
    For 200 I get the proper response but when I increase the number of vertices to 300, the traversal api throws an error invalid string length. I have increased the heap space for application to 8GB but as can be seen below the heap_used is way far too less. I am quite not sure if this issue is during serialization to JSON as there is sufficient heap memory available or are there any other options available to get the complete data.



    AQL query (if applicable):
    {"request":{"vertex":"start_vertex","start_vertex":"service_teams/9a2e582997494bee9066bbcf2aa52218","start_vertices":null,"opts":{"expander":"var connections = ;n config.datasource.getOutEdges(vertex).forEach(function (e) {n if( (e._id.indexOf("loc_has_parent_loc") > -1) || (e._id.indexOf("loc_is_associated_with_org") > -1) || (e._id.indexOf("st_is_allocated_loc") > -1) ) {n connections.push({ vertex: require("internal").db._document(e._to), edge: e});n }n });n return connections;"},"collection_name":"","edge_name":"","data":true,"path":false}},"err":{"code":500,"message":"Invalid string length"}}










    share|improve this question

























      0












      0








      0








      ArangoDB Version: 3.3.14



      Heap Statistics for application:
      { total_heap_size: 39108608,
      total_heap_size_executable: 3670016,
      total_physical_size: 37433512,
      total_available_size: 8735662896,
      used_heap_size: 28891504,
      heap_size_limit: 8769069275,
      malloced_memory: 16384,
      peak_malloced_memory: 168484640,
      does_zap_garbage: 0 }



      I have a traversal api which traverses through 3 vertices and returns around 300 document vertices.
      For 200 I get the proper response but when I increase the number of vertices to 300, the traversal api throws an error invalid string length. I have increased the heap space for application to 8GB but as can be seen below the heap_used is way far too less. I am quite not sure if this issue is during serialization to JSON as there is sufficient heap memory available or are there any other options available to get the complete data.



      AQL query (if applicable):
      {"request":{"vertex":"start_vertex","start_vertex":"service_teams/9a2e582997494bee9066bbcf2aa52218","start_vertices":null,"opts":{"expander":"var connections = ;n config.datasource.getOutEdges(vertex).forEach(function (e) {n if( (e._id.indexOf("loc_has_parent_loc") > -1) || (e._id.indexOf("loc_is_associated_with_org") > -1) || (e._id.indexOf("st_is_allocated_loc") > -1) ) {n connections.push({ vertex: require("internal").db._document(e._to), edge: e});n }n });n return connections;"},"collection_name":"","edge_name":"","data":true,"path":false}},"err":{"code":500,"message":"Invalid string length"}}










      share|improve this question














      ArangoDB Version: 3.3.14



      Heap Statistics for application:
      { total_heap_size: 39108608,
      total_heap_size_executable: 3670016,
      total_physical_size: 37433512,
      total_available_size: 8735662896,
      used_heap_size: 28891504,
      heap_size_limit: 8769069275,
      malloced_memory: 16384,
      peak_malloced_memory: 168484640,
      does_zap_garbage: 0 }



      I have a traversal api which traverses through 3 vertices and returns around 300 document vertices.
      For 200 I get the proper response but when I increase the number of vertices to 300, the traversal api throws an error invalid string length. I have increased the heap space for application to 8GB but as can be seen below the heap_used is way far too less. I am quite not sure if this issue is during serialization to JSON as there is sufficient heap memory available or are there any other options available to get the complete data.



      AQL query (if applicable):
      {"request":{"vertex":"start_vertex","start_vertex":"service_teams/9a2e582997494bee9066bbcf2aa52218","start_vertices":null,"opts":{"expander":"var connections = ;n config.datasource.getOutEdges(vertex).forEach(function (e) {n if( (e._id.indexOf("loc_has_parent_loc") > -1) || (e._id.indexOf("loc_is_associated_with_org") > -1) || (e._id.indexOf("st_is_allocated_loc") > -1) ) {n connections.push({ vertex: require("internal").db._document(e._to), edge: e});n }n });n return connections;"},"collection_name":"","edge_name":"","data":true,"path":false}},"err":{"code":500,"message":"Invalid string length"}}







      arangodb






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 16 '18 at 8:58









      user2608576user2608576

      11218




      11218
























          1 Answer
          1






          active

          oldest

          votes


















          0














          The error message you're seeing here is a V8 error message, thus this is a javscript implementation limitation. V8 allows strings up to 256 MB.



          The old graph traversal API is implemented in Javascript, and for processing may stringify documents inbetween and thus reach this limit.



          Please prefer AQL-Traversals instead for better performance.






          share|improve this answer
























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53334437%2farangodb-graph-traversal-fails-inspite-of-increased-heap-size%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            The error message you're seeing here is a V8 error message, thus this is a javscript implementation limitation. V8 allows strings up to 256 MB.



            The old graph traversal API is implemented in Javascript, and for processing may stringify documents inbetween and thus reach this limit.



            Please prefer AQL-Traversals instead for better performance.






            share|improve this answer




























              0














              The error message you're seeing here is a V8 error message, thus this is a javscript implementation limitation. V8 allows strings up to 256 MB.



              The old graph traversal API is implemented in Javascript, and for processing may stringify documents inbetween and thus reach this limit.



              Please prefer AQL-Traversals instead for better performance.






              share|improve this answer


























                0












                0








                0







                The error message you're seeing here is a V8 error message, thus this is a javscript implementation limitation. V8 allows strings up to 256 MB.



                The old graph traversal API is implemented in Javascript, and for processing may stringify documents inbetween and thus reach this limit.



                Please prefer AQL-Traversals instead for better performance.






                share|improve this answer













                The error message you're seeing here is a V8 error message, thus this is a javscript implementation limitation. V8 allows strings up to 256 MB.



                The old graph traversal API is implemented in Javascript, and for processing may stringify documents inbetween and thus reach this limit.



                Please prefer AQL-Traversals instead for better performance.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Feb 27 at 17:19









                dothebartdothebart

                5,119930




                5,119930
































                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53334437%2farangodb-graph-traversal-fails-inspite-of-increased-heap-size%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Bressuire

                    Vorschmack

                    Quarantine