The java 8 group by collector's default implementation uses underlying hash 
maps. Any iteration of the results ends up iterating over hash map entries in a 
way that is not conducive to spliterators. Specifically, things like sizing and 
subsizing don't work on the spliterators. Since many use cases for the 
collectors result in an immutable stream, and collect the entire stream in the 
process, it should be possible to have a result which can be part of a divide 
and conquer strategy based on streams and spliterators.

There are some places in the code that hard materialize to a list in order to 
attain these properties. They should be fixed once a suitable group by 
collector implementation is available.

[ Full content available at: 
https://github.com/apache/incubator-druid/issues/6421 ]
This message was relayed via gitbox.apache.org for [email protected]

Reply via email to