[ 
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)

Reply via email to