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