I've been fighting with POPartialAgg for a couple of days now, and I've come across what I think is a bug.
aggregate() does this:
numEntriesInTarget += valueTuple.size() - 1;
which seems wrong. That's counting the number of items in the tuple, not the number of tuples in the map.
numEntriesInTarget++ would be more correct, IMO, as the value's being summed with/compared to with numRecsInRawMap, which is a count of tuples.
Likewise in aggregateRawRow().
For aggregations with large numbers of columns, this is causing checkSizeReduction() to disable in-memory aggregation when it shouldn't be.
Can anyone confirm that I'm not mistaken here? If not, I'll open an issue in Jira.
aggregate() does this:
numEntriesInTarget += valueTuple.size() - 1;
which seems wrong. That's counting the number of items in the tuple, not the number of tuples in the map.
numEntriesInTarget++ would be more correct, IMO, as the value's being summed with/compared to with numRecsInRawMap, which is a count of tuples.
Likewise in aggregateRawRow().
For aggregations with large numbers of columns, this is causing checkSizeReduction() to disable in-memory aggregation when it shouldn't be.
Can anyone confirm that I'm not mistaken here? If not, I'll open an issue in Jira.