Jackie-Jiang opened a new pull request, #11607: URL: https://github.com/apache/pinot/pull/11607
Currently multi-stage aggregation/group-by requires both materialized rows and data block. This means we always need to do conversion whether getting the transferrable block locally (with materialized rows) or remotely (with data block). This PR: - Enhanced `RowBasedBlockValSet` to support `null` - Added `FilteredRowBasedBlockValSet` to support filtered aggregation from materialized rows - Enhanced `DataBlockExtractUtils`: - Correctly handle `null` with filter - Avoid per row extract to reduce the overhead - Enhanced `AggregateOperator`, `MultistageAggregationExecutor`, `MultistageGroupByExecutor`: - Use only materialized rows or data block and avoid unnecessary row conversion - Avoid per row column index lookup - Avoid extracting filtered rows multiple times when it can be shared -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org