[ 
https://issues.apache.org/jira/browse/TINKERPOP-1758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16386959#comment-16386959
 ] 

ASF GitHub Bot commented on TINKERPOP-1758:
-------------------------------------------

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

----


> RemoteStrategy should be before all other DecorationStrategies.
> ---------------------------------------------------------------
>
>                 Key: TINKERPOP-1758
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1758
>             Project: TinkerPop
>          Issue Type: Bug
>          Components: process
>    Affects Versions: 3.2.6
>            Reporter: Marko A. Rodriguez
>            Assignee: stephen mallette
>            Priority: Major
>
> {code}
> gremlin> g = graph.traversal().withRemote('conf/remote-graph.properties')
> ==>graphtraversalsource[tinkergraph[vertices:808 edges:8049], standard]
> gremlin> g.V().out().out().values('name').explain()
> ==>Traversal Explanation
> =======================================================================================================================================
> Original Traversal                 [GraphStep(vertex,[]), 
> VertexStep(OUT,vertex), VertexStep(OUT,vertex), PropertiesStep([name],value)]
> ConnectiveStrategy           [D]   [GraphStep(vertex,[]), 
> VertexStep(OUT,vertex), VertexStep(OUT,vertex), PropertiesStep([name],value)]
> RemoteStrategy               [D]   
> [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])]
> RepeatUnrollStrategy         [O]   
> [RemoteStep(DriverServerConnection-localhost/127.0.0.1:8182 [graph=g])]
> CountStrategy                [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])]
> gremlin>
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to