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

dedup() doesn't dedup in rare cases

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.2.1
    • 3.2.4
    • process
    • None

    Description

      I stumbled across this issue when I tried to solve a problem on the mailing list. It seems like a lot of steps need to be involved in order to make it reproducible.

      gremlin> :set max-iteration 10
      gremlin> 
      gremlin> g = TinkerFactory.createModern().traversal().withComputer()
      ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer]
      gremlin> g.V().repeat(both()).until(cyclicPath()).path().aggregate("x").cap("x").unfold().dedup()
      ==>[v[1], v[2], v[1]]
      ==>[v[1], v[2], v[1]]
      ==>[v[1], v[3], v[1]]
      ==>[v[1], v[3], v[1]]
      ==>[v[1], v[4], v[1]]
      ==>[v[1], v[4], v[1]]
      ==>[v[2], v[1], v[2]]
      ==>[v[2], v[1], v[2]]
      ==>[v[3], v[1], v[3]]
      ==>[v[3], v[1], v[3]]
      ...
      

      I can't reproduce it w/o using repeat(), aggregate() or cap(). It is reproducible without path() though. And then it even gets a little worse; check this out:

      gremlin> g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup()
      ==>v[1]
      ==>v[1]
      ==>v[2]
      ==>v[2]
      ==>v[3]
      ==>v[3]
      ==>v[4]
      ==>v[4]
      ==>v[5]
      ==>v[5]
      ...
      gremlin> g.V().repeat(both()).until(cyclicPath()).aggregate("x").cap("x").unfold().dedup().dedup()
      java.lang.RuntimeException: java.lang.IllegalStateException: java.lang.IllegalArgumentException: The memory can only be set() during vertex program setup and terminate: x
      Display stack trace? [yN]
      

      The exception occurs only in OLAP mode, but also for more meaningful patterns (.dedup().dedup() really doesn't make much sense).

      For a better / larger example see: https://groups.google.com/d/msg/gremlin-users/NMXExuvDjt0/ps7bJDYwAQAJ

      Attachments

        Activity

          People

            Unassigned Unassigned
            dkuppitz Daniel Kuppitz
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: