TINKERPOP-1642 Fixed up some execution problems after rebase The logic still doesn't seem quite right but at least the tests pass and a complete build is achieved. The issue is related to new stuff added in PathRetractionStrategy on TINKERPOP-1652.
Project: http://git-wip-us.apache.org/repos/asf/tinkerpop/repo Commit: http://git-wip-us.apache.org/repos/asf/tinkerpop/commit/0824625f Tree: http://git-wip-us.apache.org/repos/asf/tinkerpop/tree/0824625f Diff: http://git-wip-us.apache.org/repos/asf/tinkerpop/diff/0824625f Branch: refs/heads/TINKERPOP-1642 Commit: 0824625f4db8e0fdc483183faf8d505f3300b6b4 Parents: 3929a67 Author: Stephen Mallette <[email protected]> Authored: Mon Mar 27 14:03:26 2017 -0400 Committer: Stephen Mallette <[email protected]> Committed: Mon Mar 27 14:03:26 2017 -0400 ---------------------------------------------------------------------- .../strategy/optimization/PathRetractionStrategy.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/0824625f/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathRetractionStrategy.java ---------------------------------------------------------------------- diff --git a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathRetractionStrategy.java b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathRetractionStrategy.java index 443e4e3..10e2372 100644 --- a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathRetractionStrategy.java +++ b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/PathRetractionStrategy.java @@ -78,15 +78,20 @@ public final class PathRetractionStrategy extends AbstractTraversalStrategy<Trav // do not apply this strategy if a VertexProgramStep is present with LABELED_PATH requirements if ((traversal.getParent() instanceof EmptyStep || traversal.getParent() instanceof VertexProgramStep) && TraversalHelper.anyStepRecursively(step -> step instanceof LambdaHolder || - step.getRequirements().contains(TraverserRequirement.PATH) || - (step instanceof VertexProgramStep && step.getRequirements().contains(TraverserRequirement.LABELED_PATH)),traversal)) + step.getRequirements().contains(TraverserRequirement.PATH),traversal)) { TraversalHelper.applyTraversalRecursively(t -> t.getEndStep().addLabel(MARKER), traversal); + } if (traversal.getEndStep().getLabels().contains(MARKER)) { traversal.getEndStep().removeLabel(MARKER); return; } + if (TraversalHelper.anyStepRecursively(step -> step instanceof VertexProgramStep && step.getRequirements().contains(TraverserRequirement.LABELED_PATH), + TraversalHelper.getRootTraversal(traversal))) { + return; + } + final boolean onGraphComputer = TraversalHelper.onGraphComputer(traversal); final Set<String> foundLabels = new HashSet<>(); final Set<String> keepLabels = new HashSet<>();
