BiteTheDDDDt opened a new pull request, #63766:
URL: https://github.com/apache/doris/pull/63766

   ### What problem does this PR solve?
   
   Issue Number: None
   
   Related PR: #63529, #62438
   
   Problem Summary: PR #63529 preserved local hash shuffle for serial merge 
aggregation, but the condition only covered serial children. A non-finalize 
merge aggregation can also receive input from a child that requires a non-hash 
local exchange, such as the adaptive passthrough exchange used by nested loop 
join after #62438. In that case identical group keys can be split across local 
aggregation instances and later count distinct aggregation may count duplicate 
partial groups.
   
   This PR keeps the existing serial-child protection and additionally 
preserves local hash shuffle when a merge aggregation's child requires a 
non-hash local exchange such as ADAPTIVE_PASSTHROUGH.
   
   ### Release note
   
   Fix wrong results for merge aggregation after non-hash local exchange.
   
   ### Check List (For Author)
   
   - Test: Unit Test
       - ./run-be-ut.sh --run --filter=AggOperatorRequiredDistributionTest.*
   - Behavior changed: Yes. Merge aggregation now keeps local hash shuffle when 
its child requires a non-hash local exchange.
   - Does this need documentation: No


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to