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

RepeatUnrollStrategy does not semi-compile inlined repeat traversal

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 3.2.2
    • Fix Version/s: 3.2.3
    • Component/s: process
    • Labels:
      None

      Description

      There is a bug in RepeatUnrollStrategy. Assume the following traversal:

      g.V().repeat(outE().inV()).times(2)
      

      This is currently compiled to:

      g.V().outE().inV().outE().inV()
      

      It should be compiled to:

      g.V().out().out()
      

      What is the problem? RepeatUnrollStrategy is the first strategy that takes a child traversal and injects it into the parent traversal. By doing that, any strategies up to that point have not been kicked off and thus, the injected traversal sequence isn't privy to all the strategies prior to RepeatUnrollStrategy (e.g. IncidentToAdjacentTraversal).

      In TINKERPOP-1456 branch, there is the fix as InlineFilterStrategy was created and the bug showed itself there. Thus, when TINKERPOP-1456 is merged to master/, close this ticket as "fixed."

        Attachments

          Activity

            People

            • Assignee:
              okram Marko A. Rodriguez
              Reporter:
              okram Marko A. Rodriguez
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: