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

hashCode collision for steps with different attributes

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.4.8
    • 3.6.6
    • process
    • None

    Description

      The hashCode computation for PropertiesStep collides for multiple steps when there are repeating keys. For example .properties() and .properties("a","a").properties("a") and .properties("a","b","b") have the same hash code because of xor of just properties here https://github.com/apache/tinkerpop/blob/cff4c161615f2b50bda27b6ba523c7f52b833532/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/PropertiesStep.java#L80-L87. Basically, the even keys cancel out the xor computation.

       

      The same is also true for AbstractStep.hashCode which takes xor of labels.

      GraphStep does the same thing using ids. so g.V("1", "1") and g.V() would collide during comparison. 

      Attachments

        Activity

          People

            xiazcy Yang Xia
            saikiranboga Saikiran Boga
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: