[ https://issues.apache.org/jira/browse/TINKERPOP-1597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15821928#comment-15821928 ]
Ted Wilmes edited comment on TINKERPOP-1597 at 1/13/17 4:02 PM: ---------------------------------------------------------------- The {{dedup}} step is incorrectly dropping labels because there is a bug related to child traversals. I'll clean up my quick and dirty test fix and submit a PR. was (Author: twilmes): The {{dedup}} step is incorrectly dropping labels because their is a bug related to child traversals. I'll clean up my quick and dirty test fix and submit a PR. > PathRetractionStrategy messing up certain traversals > ---------------------------------------------------- > > Key: TINKERPOP-1597 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1597 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.3.0 > Reporter: Daniel Kuppitz > Assignee: Ted Wilmes > > There are certain types of traversals that do not work when > {{PathRetractionStrategy}} is included. This ticket discusses one specific > case that is only reproducible in {{3.3.0-SNAPSHOT}} / current {{master/}}. > Here's the traversal and the expected result: > {noformat} > gremlin> > g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").select("a","b")., > project("a").by(select("a"))) > ==>[a:v[2]] > ==>[a:v[1],b:e[9][1-created->3]] > ==>[a:v[1],b:e[7][1-knows->2]] > ==>[a:v[1],b:e[8][1-knows->4]] > {noformat} > With {{PathRetractionStrategy}} included we get: > {noformat} > gremlin> > g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"), > select("a","b"), project("a").by(select("a"))) > ==>[a:v[2]] > {noformat} > What's interesting is, that the following 2 traversals compile to the same > final traversal (according to {{.explain()}}): > {noformat} > g.withoutStrategies(PathRetractionStrategy).V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b").barrier(2500), > select("a","b").barrier(2500), project("a").by(select("a").barrier(2500))) > g.V(1,2).as("a").optional(bothE().dedup().as("b")).choose(select("b"), > select("a","b"), project("a").by(select("a"))) > {noformat} > ...but the one w/ {{PathRetractionStrategy}} still returns the wrong result, > while the other traversal returns the expected result. -- This message was sent by Atlassian JIRA (v6.3.4#6332)