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

Dan LaRocque commented on TINKERPOP-1393:
-----------------------------------------

I marked this as "Affects version: 3.2.1" because {{git tag --contains 
6208b90b2ca297186b4f75f356e0093d4b6ed280}} reports only 3.2.1 (plus some of my 
personal tags that don't matter).

> RepeatUnrollStrategy alters traversal behavior
> ----------------------------------------------
>
>                 Key: TINKERPOP-1393
>                 URL: https://issues.apache.org/jira/browse/TINKERPOP-1393
>             Project: TinkerPop
>          Issue Type: Bug
>    Affects Versions: 3.2.1
>            Reporter: Dan LaRocque
>
> I think 
> https://github.com/apache/tinkerpop/commit/6208b90b2ca297186b4f75f356e0093d4b6ed280
>  may contain a bug.
> Consider this normal-looking gremlin-console session from the immediately 
> preceding commit (not 6208b but the commit right before):
> {noformat}
> tinkerpop$ git checkout 6208b90b2ca297186b4f75f356e0093d4b6ed280~
> tinkerpop$ mvn clean install -DskipTests=true
> tinkerpop$ gremlin-console/bin/gremlin.sh 
>          \,,,/
>          (o o)
> -----oOOo-(3)-oOOo-----
> plugin activated: tinkerpop.server
> plugin activated: tinkerpop.utilities
> plugin activated: tinkerpop.tinkergraph
> gremlin> tg = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> ego = tg.addVertex('vertex')
> ==>v[0]
> gremlin> p1 = tg.addVertex('vertex')
> ==>v[1]
> gremlin> p2 = tg.addVertex('vertex')
> ==>v[2]
> gremlin> p3 = tg.addVertex('vertex')
> ==>v[3]
> gremlin> ego.addEdge('knows', p1)
> ==>e[4][0-knows->1]
> gremlin> ego.addEdge('knows', p2)
> ==>e[5][0-knows->2]
> gremlin> ego.addEdge('knows', p3)
> ==>e[6][0-knows->3]
> gremlin> tg.traversal().V().repeat(both()).times(3).tail(7)
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> gremlin> tg.traversal().V().both().both().both().count()
> ==>18
> gremlin> tg.traversal().V().repeat(both()).times(3).tail(7).count()
> ==>7
> gremlin>
> {noformat}
> So far so good.
> However, 6208b changes the last traversal result from 7 to 6:
> {noformat}
> tinkerpop$ git checkout 6208b90b2ca297186b4f75f356e0093d4b6ed280
> tinkerpop$ mvn clean install -DskipTests=true
> tinkerpop$ gremlin-console/bin/gremlin.sh     
>          \,,,/
>          (o o)
> -----oOOo-(3)-oOOo-----
> plugin activated: tinkerpop.server
> plugin activated: tinkerpop.utilities
> plugin activated: tinkerpop.tinkergraph
> gremlin> tg = TinkerGraph.open()
> ==>tinkergraph[vertices:0 edges:0]
> gremlin> ego = tg.addVertex('vertex')
> ==>v[0]
> gremlin> p1 = tg.addVertex('vertex')
> ==>v[1]
> gremlin> p2 = tg.addVertex('vertex')
> ==>v[2]
> gremlin> p3 = tg.addVertex('vertex')
> ==>v[3]
> gremlin> ego.addEdge('knows', p1)
> ==>e[4][0-knows->1]
> gremlin> ego.addEdge('knows', p2)
> ==>e[5][0-knows->2]
> gremlin> ego.addEdge('knows', p3)
> ==>e[6][0-knows->3]
> gremlin> tg.traversal().V().repeat(both()).times(3).tail(7)
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> ==>v[0]
> gremlin> tg.traversal().V().both().both().both().count()
> ==>18
> gremlin> tg.traversal().V().repeat(both()).times(3).tail(7).count()
> ==>6
> {noformat}
> Confusingly, {{mvn -pl tinkergraph-gremlin 
> -Dtest=TinkerGraphProcessStandardTest clean verify}} passes.  That test 
> includes {{TailTest$Traversals.g_V_repeatXbothX_timesX3X_tailX7X}}, which 
> seems like it would catch this kind of bug, but said test succeeds.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to