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

Traversal.Admin.lock() has excessive recursion

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • 3.7.2
    • None
    • console, process
    • M1 Macbook, 16GB RAM

    Description

      Hi, we are currently upgrading to TinkerPop 3.7, and noticed that some of our larger queries were taking much longer than expected to applyStrategies / lock. I've created an example project with a contrived complex traversal that reproduces the issue.

      I noticed that many of the children steps were getting locked more than once, which shouldn't be necessary. I think the problem is hereapplyTraversalRecursively, called from the traversal root, should apply the lock() to all children, grandchildren, and so on. But each child also calls applyTraversalRecursively, meaning the number of times a step is locked scales with the depth of the traversal.

      # TinkerPop 3.5.3
      Applied strategies in PT3.695S   
      # TinkerPop 3.7.2
      Applied strategies in PT15.079S

      Attachments

        Activity

          People

            Unassigned Unassigned
            camfiander Cameron Fiander
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: