[ 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)