Details
-
Bug
-
Status: Open
-
Critical
-
Resolution: Unresolved
-
3.7.2
-
None
-
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 here. applyTraversalRecursively, 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