[ https://issues.apache.org/jira/browse/TINKERPOP-1261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15235872#comment-15235872 ]
Marko A. Rodriguez commented on TINKERPOP-1261: ----------------------------------------------- The "m" has to be a {{[key,Traversal.Admin]}} going into the {{group()}}. {{Group()}} requires post-processing to yield the ultimate result and thus, specifying the "ultimate result" won't work like this. This is not really a bug as a "well, how do you propose to make it work?" > Side-effect group().by() can't handle user-defined maps > ------------------------------------------------------- > > Key: TINKERPOP-1261 > URL: https://issues.apache.org/jira/browse/TINKERPOP-1261 > Project: TinkerPop > Issue Type: Bug > Components: process > Affects Versions: 3.2.0-incubating > Reporter: Daniel Kuppitz > Fix For: 3.2.1 > > > Side-effect grouping is usually used to add things to an existing map. That > no longer works as the {{group().by()}} expects all map values to be > traversers. Check this: > *Normal grouping:* > {code} > gremlin> g = TinkerFactory.createModern().traversal() > ==>graphtraversalsource[tinkergraph[vertices:6 edges:6], standard] > gremlin> > g.V().hasLabel("person").group().by("name").by(out("created").values("name").fold()).next() > ==>peter=[lop] > ==>vadas=[] > ==>josh=[ripple, lop] > ==>marko=[lop] > {code} > *Side-effect grouping:* > {code} > gremlin> m = ["marko":[]] > ==>marko=[] > gremlin> g.withSideEffect("m", > m).V().hasLabel("person").group("m").by("name").by(out("created").values("name").fold()).cap("m") > java.util.ArrayList cannot be cast to > org.apache.tinkerpop.gremlin.process.traversal.Traversal$Admin > Display stack trace? [yN] y > java.lang.ClassCastException: java.util.ArrayList cannot be cast to > org.apache.tinkerpop.gremlin.process.traversal.Traversal$Admin > at > org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep$GroupBiOperator.apply(GroupStep.java:217) > at > org.apache.tinkerpop.gremlin.process.traversal.step.map.GroupStep$GroupBiOperator.apply(GroupStep.java:171) > at > org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversalSideEffects.add(DefaultTraversalSideEffects.java:92) > at > org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.GroupSideEffectStep.sideEffect(GroupSideEffectStep.java:97) > at > org.apache.tinkerpop.gremlin.process.traversal.step.sideEffect.SideEffectStep.processNextStart(SideEffectStep.java:39) > at > org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:140) > at > org.apache.tinkerpop.gremlin.process.traversal.step.util.ExpandableStepIterator.hasNext(ExpandableStepIterator.java:42) > at > org.apache.tinkerpop.gremlin.process.traversal.step.util.SupplyingBarrierStep.processAllStarts(SupplyingBarrierStep.java:83) > at > org.apache.tinkerpop.gremlin.process.traversal.step.util.SupplyingBarrierStep.processNextStart(SupplyingBarrierStep.java:70) > at > org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep.hasNext(AbstractStep.java:140) > at > org.apache.tinkerpop.gremlin.process.traversal.util.DefaultTraversal.hasNext(DefaultTraversal.java:146) > at > org.apache.tinkerpop.gremlin.console.Console$_closure3.doCall(Console.groovy:206) > ... > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)