gortiz opened a new pull request, #14342: URL: https://github.com/apache/pinot/pull/14342
This PR modifies AggregationPlanNode to improve performance when null handling is enabled for the query but the involved columns do not contain nulls for this specific segment. For example, a query like: ```sql set enableNullHandling=true; set explainAskingServers=true; explain plan for select count(deviceOS) from userAttributes limit 10 ``` Where `deviceOS` is nullable returned: ``` LogicalSort(fetch=[10]) PinotLogicalSortExchange(distribution=[hash], collation=[[]], isSortOnSender=[false], isSortOnReceiver=[false]) PinotLogicalAggregate(group=[{}], agg#0=[COUNT($0)]) PinotLogicalExchange(distribution=[hash]) LeafStageCombineOperator(table=[userAttributes]) StreamingInstanceResponse CombineAggregate Aggregate(aggregations=[[count(deviceOS)]]) <-- see this Project(columns=[[deviceOS]]) DocIdSet(maxDocs=[40000]) FilterMatchEntireSegment(numDocs=[10000]) ``` While with this PR it returns: ``` LogicalSort(fetch=[10]) PinotLogicalSortExchange(distribution=[hash], collation=[[]], isSortOnSender=[false], isSortOnReceiver=[false]) PinotLogicalAggregate(group=[{}], agg#0=[COUNT($0)]) PinotLogicalExchange(distribution=[hash]) LeafStageCombineOperator(table=[userAttributes]) StreamingInstanceResponse CombineAggregate FastFilteredCount <-- see this FilterMatchEntireSegment(numDocs=[10000]) ``` -- 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