GitHub user spmallette opened a pull request:

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

    TINKERPOP-1758 Apply RemoteStrategy before all DecorationStrategy instances

    https://issues.apache.org/jira/browse/TINKERPOP-1758
    
    Played around with a few ways to test this, but none seemed especially 
good. Everything I try to do seems fairly contrived or redundant. In the end, I 
ended up feeling like it was safe to just rely on the TraversalStrategies 
sorting system with posts/priors. That's pretty solidly tested so perhaps that 
is enough...
    
    Here's the result of a quick manual test:
    
    ```text
    gremlin> g = 
TinkerGraph.open().traversal().withRemote('conf/remote-graph.properties').withStrategies(SubgraphStrategy.build().vertices(identity()).create())
    ==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
    gremlin> g.V().out().out().values('name').explain()
    ==>Traversal Explanation
    
=======================================================================================================================================
    Original Traversal                 [GraphStep(vertex,[]), 
VertexStep(OUT,vertex), VertexStep(OUT,vertex), PropertiesStep([name],value)]
    
    RemoteStrategy               [D]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    SubgraphStrategy             [D]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    ConnectiveStrategy           [D]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    RangeByIsCountStrategy       [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    RepeatUnrollStrategy         [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    MatchPredicateStrategy       [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    FilterRankingStrategy        [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    InlineFilterStrategy         [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    IncidentToAdjacentStrategy   [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    AdjacentToIncidentStrategy   [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    PathRetractionStrategy       [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    LazyBarrierStrategy          [O]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    TinkerGraphCountStrategy     [P]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    TinkerGraphStepStrategy      [P]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    ProfileStrategy              [F]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    StandardVerificationStrategy [V]   
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    
    Final Traversal                    
[RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
    ```
    
    All tests pass with `docker/build.sh -t -n -i`
    
    VOTE +1

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

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

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

    https://github.com/apache/tinkerpop/pull/811.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 #811
    
----
commit 528851411c6494bf92f2f929324a79ba28a941b2
Author: Stephen Mallette <spmva@...>
Date:   2018-03-05T18:18:35Z

    TINKERPOP-1758 Apply RemoteStrategy before all DecorationStrategy instances
    
    Played around with a few ways to test this, but none seemed especially 
good. Everything I try to do seems fairly contrived or redundant. In the end, I 
ended up feeling like it was safe to just rely on the TraversalStrategies 
sorting system with posts/priors. Perhaps that is enough...

----


---

Reply via email to