[ 
https://issues.apache.org/jira/browse/TINKERPOP-1759?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16144392#comment-16144392
 ] 

ASF GitHub Bot commented on TINKERPOP-1759:
-------------------------------------------

Github user okram commented on a diff in the pull request:

    https://github.com/apache/tinkerpop/pull/699#discussion_r135642938
  
    --- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/traverser/B_O_S_SE_SL_Traverser.java
 ---
    @@ -110,17 +112,22 @@ public void merge(final Traverser.Admin<?> other) {
     
         /////////////////
     
    +    final boolean carriesUnmergeableSack() {
    +        // hmmm... serialization in OLAP destroys the transient sideEffects
    +        return null != this.sack && (null == this.sideEffects || null == 
this.sideEffects.getSackMerger());
    +    }
    +
         @Override
         public int hashCode() {
    -        return this.t.hashCode() + this.future.hashCode() + this.loops;
    +        return carriesUnmergeableSack() ? System.identityHashCode(this) : 
(super.hashCode() ^ this.loops);
    +    }
    +
    +    protected final boolean equals(final B_O_S_SE_SL_Traverser other) {
    --- End diff --
    
    I'm a little scared of this "double equals()" definition. @spmallette -- do 
you have any thoughts on this matter? Note that there is an `equals(Object)` 
method like always, but then there is this added `protected final 
equals(SpecificClass)`. I have a feeling that this could get screwy for 
languages like Groovy. Perhaps there is a better way to do what is needed 
without overloading `equals()`? 


> Improve hashcode and equals for Traverser implementations
> ---------------------------------------------------------
>
>                 Key: TINKERPOP-1759
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1759
>             Project: TinkerPop
>          Issue Type: Improvement
>          Components: process
>    Affects Versions: 3.2.6
>            Reporter: Daniel Kuppitz
>            Assignee: Daniel Kuppitz
>




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to