Description
GroupStep looks for a Barrier step to determine the reducing bi-operator. This is wrong and I'm really surprised that this has never been spotted before.
gremlin> g.V().hasLabel('person').as('p').out('created').group().by('name').by(select('p').values('age').sum()) java.lang.Long cannot be cast to org.apache.tinkerpop.gremlin.process.traversal.traverser.util.TraverserSet Type ':help' or ':h' for help. Display stack trace? [yN]
In the query above the first barrier step is a NoOpBarrier step (added by PathRetractionStrategy). This step obviously has no reducing bi-operator. What we really want to do is look for the first barrier step that is not a LocalBarrier step.
Attachments
Issue Links
- links to