You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tinkerpop.apache.org by twilmes <gi...@git.apache.org> on 2017/10/10 20:41:56 UTC

[GitHub] tinkerpop pull request #731: TINKERPOP-1650: PathRetractionStrategy makes Ma...

GitHub user twilmes opened a pull request:

    https://github.com/apache/tinkerpop/pull/731

    TINKERPOP-1650: PathRetractionStrategy makes Match steps unsolvable

    This bug was a result of an unintentionally shared set between a MatchStep and WhereStep's. This caused the `p` label to be incorrectly pulled into the `matchStartLabels` for the following query:
    
    ` g.V().hasLabel("person").as("p").match(__.as("a").out("created").as("sw"), __.as("sw").has("lang", "java").as("java")).where("sw", neq("a")).select("p")`
    
    As a result, when the match step was attempting to pick a `startLabelsBundle`, it failed to grab one because the incoming traverser already had the `p` label in its path. This fix added defensive copying to all of the `setKeepLabels` calls to prevent the possibility of this unintentional sharing of a mutable collection.
    
    ```
    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO] 
    [INFO] Apache TinkerPop ................................... SUCCESS [  3.238 s]
    [INFO] Apache TinkerPop :: Gremlin Shaded ................. SUCCESS [  1.972 s]
    [INFO] Apache TinkerPop :: Gremlin Core ................... SUCCESS [01:04 min]
    [INFO] Apache TinkerPop :: Gremlin Test ................... SUCCESS [  9.145 s]
    [INFO] Apache TinkerPop :: Gremlin Groovy ................. SUCCESS [04:00 min]
    [INFO] Apache TinkerPop :: Gremlin Groovy Test ............ SUCCESS [  5.057 s]
    [INFO] Apache TinkerPop :: TinkerGraph Gremlin ............ SUCCESS [02:58 min]
    [INFO] Apache TinkerPop :: Gremlin Benchmark .............. SUCCESS [  3.874 s]
    [INFO] Apache TinkerPop :: Gremlin Driver ................. SUCCESS [  9.796 s]
    [INFO] Apache TinkerPop :: Neo4j Gremlin .................. SUCCESS [  2.134 s]
    [INFO] Apache TinkerPop :: Gremlin Server ................. SUCCESS [ 42.125 s]
    [INFO] Apache TinkerPop :: Gremlin Python ................. SUCCESS [  6.630 s]
    [INFO] Apache TinkerPop :: Gremlin.Net .................... SUCCESS [  2.892 s]
    [INFO] Apache TinkerPop :: Gremlin.Net - Source ........... SUCCESS [  0.118 s]
    [INFO] Apache TinkerPop :: Gremlin.Net - Tests ............ SUCCESS [  0.067 s]
    [INFO] Apache TinkerPop :: Hadoop Gremlin ................. SUCCESS [03:12 min]
    [INFO] Apache TinkerPop :: Spark Gremlin .................. SUCCESS [01:14 min]
    [INFO] Apache TinkerPop :: Giraph Gremlin ................. SUCCESS [  7.819 s]
    [INFO] Apache TinkerPop :: Gremlin Console ................ SUCCESS [ 21.415 s]
    [INFO] Apache TinkerPop :: Gremlin Archetype .............. SUCCESS [  0.045 s]
    [INFO] Apache TinkerPop :: Archetype - TinkerGraph ........ SUCCESS [  4.934 s]
    [INFO] Apache TinkerPop :: Archetype - Server ............. SUCCESS [ 11.442 s]
    [INFO] Apache TinkerPop :: Archetype - DSL ................ SUCCESS [  5.675 s]
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 14:49 min
    [INFO] Finished at: 2017-10-10T15:35:23-05:00
    [INFO] Final Memory: 278M/6262M
    [INFO] ------------------------------------------------------------------------
    ```
    VOTE: +1

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/apache/tinkerpop TINKERPOP-1650

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/tinkerpop/pull/731.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 #731
    
----
commit 73a982c7c13bc00893f34c65beec6419a56c76bc
Author: Ted Wilmes <tw...@gmail.com>
Date:   2017-10-10T18:46:13Z

    TINKERPOP-1650
    * Updated setKeepLabels calls to make defensive copies of their input to avoid corruption.
    * Added a new test to PathRetractionStrategyTest for WhereStep.

----


---

[GitHub] tinkerpop issue #731: TINKERPOP-1650: PathRetractionStrategy makes Match ste...

Posted by okram <gi...@git.apache.org>.
Github user okram commented on the issue:

    https://github.com/apache/tinkerpop/pull/731
  
    VOTE +1


---

[GitHub] tinkerpop issue #731: TINKERPOP-1650: PathRetractionStrategy makes Match ste...

Posted by dkuppitz <gi...@git.apache.org>.
Github user dkuppitz commented on the issue:

    https://github.com/apache/tinkerpop/pull/731
  
    `docker/build.sh -t -i` succeeded.
    
    VOTE: +1


---

[GitHub] tinkerpop pull request #731: TINKERPOP-1650: PathRetractionStrategy makes Ma...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/tinkerpop/pull/731


---