himanshug opened a new pull request #8426:  groupBy query: optional limit push 
down to segment scan
URL: https://github.com/apache/incubator-druid/pull/8426
 
 
   Fixes ##8413
   
   ### Description
   
   This patch enables optimization to exploit limit push down in segment scan 
phase during V2 GroupBy query processing.
   At a high level following changes are introduced.
   
   - `applyLimitPushDownToSegment` property is introduced to enable this 
optimization both at cluster and query level (`true` by default)
   - `GroupByQueryEngineV2.HashAggregateIterator.newGrouper()` is updated to 
return `LimitedBufferHashGrouper` when `query.isApplyLimitPushDown() == true`
   - `GroupByQueryEngineV2.GroupByEngineKeySerde` is updated to correctly 
implement `Grouper.BufferComparator bufferComparator()` and 
`Grouper.BufferComparator bufferComparatorWithAggregators(..)` methods.
   - A new method `Grouper.BufferComparator bufferComparator(int 
keyBufferPosition, @Nullable StringComparator stringComparator)` is added to 
`GroupByColumnSelectorStrategy`
   - Code related to creation of Grouper.BufferComparator from 
`RowBasedGrouperHelper` into a new class `GrouperBufferComparatorUtils` for 
reuse.
   
   <hr>
   
   This PR has:
   - [X] been self-reviewed.
   - [X] added documentation for new or modified features or behaviors.
   - [X] been tested in a test Druid cluster.
   <hr>
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to