Uploaded image for project: 'TinkerPop'
  1. TinkerPop
  2. TINKERPOP-2781

Nested __.or() query causes excessive cpu usage CloseableIterator.closeIterator

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.4.13, 3.6.1, 3.5.4
    • None
    • process
    • None

    Description

      In our application we construct a query of the form (nested or queries):

       

      __.or(<P1>, __.<P2>.or(<P3>, __.<P4>.or(<P5>), <.....>)))
      

       

      The moment the amount of nestings starts increasing performance starts degrading disproportionally (starting as soon as 4 nestings, depending on the size of the input). Investigation with jprofiler gives the following timing, showing that a disproportionate amount of time is spent closing the traversal:

      Hypothesis is that the complete traversal is closed whenever a TraversalUtil.test() has been performed, making in increasingly slower when the traversal becomes bigger.

       

      This all seems related to https://issues.apache.org/jira/browse/TINKERPOP-2704

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              bschuur Bram Schuur
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: