[
https://issues.apache.org/jira/browse/TINKERPOP-1083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096338#comment-15096338
]
ASF GitHub Bot commented on TINKERPOP-1083:
-------------------------------------------
GitHub user okram opened a pull request:
https://github.com/apache/incubator-tinkerpop/pull/199
TINKERPOP-1083: Traversal needs a hashCode() and equals() definition.
https://issues.apache.org/jira/browse/TINKERPOP-1083
We had a lot of inconsistencies around `hashCode()`/`equals()` for
`Traversal`. Moreover, I pretty much gutted a crap load of pointless internals
in `AbstractLambdaTraversal` (much simpler, safer, and more efficient).
`mvn clean install` as well as Spark integration tests (and the first 10
minutes of Giraph integration tests).
VOTE +1.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/incubator-tinkerpop TINKERPOP-1083
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-tinkerpop/pull/199.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #199
----
commit 9851241104eb738cd2646e50cdc9f5a424775ac5
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-01-13T15:23:44Z
Greatly simplified/sped-up AbstractLambdaTraversal. It doesn't need graph,
strategy, parent, etc. references and all the complexities of cloning that that
stuff entails. Next, it now has a consistent equals()/hashCode() model.
Moreover, that hashCode()/equals() model that was only in DefaultGraphTraversal
has now been moved up to DefaultTraversal where it should have been to begin
with. Added proper TraverserRequirements to AbstractLambdaTraversal (hasnt bit
us yet, but it could).
----
> Traversal needs a hashCode() and equals() definition.
> -----------------------------------------------------
>
> Key: TINKERPOP-1083
> URL: https://issues.apache.org/jira/browse/TINKERPOP-1083
> Project: TinkerPop
> Issue Type: Bug
> Components: process
> Affects Versions: 3.1.0-incubating
> Reporter: Marko A. Rodriguez
> Fix For: 3.2.0-incubating
>
>
> I notice in {{RepeatStep}} we have {{emitTraversal.hashCode()}} to determine
> the {{hashCode()}} of {{RepeatStep}}. That is bad as we do not have a general
> pattern for determining the {{hashCode()}} for traversals... dah.
> See {{LoopTraversal}} for the hack that was added at some point...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)