Daniel Kuppitz created TINKERPOP-1905: -----------------------------------------
Summary: TinkerGraphComputer doesn't handle grouping side-effect steps properly Key: TINKERPOP-1905 URL: https://issues.apache.org/jira/browse/TINKERPOP-1905 Project: TinkerPop Issue Type: Bug Components: process Affects Versions: 3.3.1 Reporter: Daniel Kuppitz As noted in https://github.com/apache/tinkerpop/pull/803, there seems to be an issue in how {{TinkerGraphComputer}} processes grouping side-effect steps. Both grouping steps require an extra {{barrier()}} step to function properly; other side-effect steps (e.g. {{aggregate()}} show the correct / expected behavior. {noformat} gremlin> g = TinkerFactory.createModern().traversal().withComputer() ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], graphcomputer] gremlin> g.V().group("a").by("name").select("a") ==>[] ==>[] ==>[] ==>[] ==>[] ==>[] gremlin> g.V().groupCount("a").by("name").select("a") ==>[] ==>[] ==>[] ==>[] ==>[] ==>[] gremlin> g.V().aggregate("a").by("name").select("a") ==>[lop,josh,peter,vadas,ripple,marko] ==>[lop,josh,peter,vadas,ripple,marko] ==>[lop,josh,peter,vadas,ripple,marko] ==>[lop,josh,peter,vadas,ripple,marko] ==>[lop,josh,peter,vadas,ripple,marko] ==>[lop,josh,peter,vadas,ripple,marko] {noformat} Including an extra {{barrier()}} which, in my opinion, really shouldn't be necessary in an OLAP job: {noformat} gremlin> g.V().group("a").by("name").barrier().select("a") ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] ==>[josh:[v[4]],ripple:[v[5]],lop:[v[3]],peter:[v[6]],vadas:[v[2]],marko:[v[1]]] gremlin> g.V().groupCount("a").by("name").barrier().select("a") ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] ==>[josh:1,ripple:1,lop:1,peter:1,vadas:1,marko:1] {noformat} A pull request for this ticket should also remove the extra {{barrier()}} step from the test case {{g_VX1X_groupXaX_byXconstantXaXX_byXnameX_selectXaX_selectXaX}}. I haven't checked 3.2.x yet, but this line of code most likely shows the same issue. -- This message was sent by Atlassian JIRA (v7.6.3#76005)