GitHub user okram opened a pull request:
https://github.com/apache/tinkerpop/pull/374
TINKERPOP-1400: SubgraphStrategy introduces infinite recursion if filter
has Vertex/Edge steps.
https://issues.apache.org/jira/browse/TINKERPOP-1400
There was a severe bug in SubgraphStrategy where the traversal filters that
were added for sub-graphing were being recursively applied yielded a
StackOverflow. We did not have complex enough tests in
SubgraphStrategyProcessTest to illicit the bug. The fix is clever using Step
label markers to know if a traversal whose is having their strategy applied is
a vertex/edge subgraph filter. Its clever.
* Note: given the differences in strategy application code, this can not
easily go into the `tp31`-line without a rewrite. Thus, this is headed to
`master/`.
CHANGELOG
```
* Fixed a severe bug in `SubgraphStrategy`.
* Deprecated `SubgraphStrategy.Builder.vertexCriterion()/edgeCriterion()`
in favor of `vertices()/edges()`.
```
VOTE +1.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/apache/tinkerpop TINKERPOP-1400
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/tinkerpop/pull/374.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 #374
----
commit 9d6a4957468a65d15180ddc31f5020255ad14f20
Author: Marko A. Rodriguez <[email protected]>
Date: 2016-08-05T19:16:58Z
Fixed a severe bug in SubgraphStrategy where infinite recurssion occurs if
the strategy is not smart about how child traverals with Vertex/EdgeSteps are
analyzed. Also Deprecated vertexCriteria() method with vertices() likewise for
edgeCritera() in SubGraphStrategy.Builder to be consistent with GraphFilter
style (same concept). In fact, moving forward, SubGraphStrategy could take a
GraphFilter.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---