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.
---

Reply via email to