924060929 opened a new pull request, #67941:
URL: https://github.com/apache/doris/pull/67941
### What problem does this PR solve?
Issue Number: None
Related PR: #67177
Problem Summary:
FE-planned local shuffle forwarded a parent hash requirement through Select
even though Select did not own a child-side mapping for those hash expressions.
When the Window child did not already satisfy the requirement, Select inserted
an empty-key hash local exchange. The shuffle join then saw a matching exchange
type and skipped the real keyed redistribution, so matching rows could reach
different local tasks and be silently lost.
This PR lets the child derive its own distribution without the parent hash
requirement. When the parent requires hash distribution, Select reports NOOP so
the parent inserts the exchange above Select using its own keys.
### Release note
Fix incorrect query results for Window output filtered before a shuffle join
when FE local shuffle planning is enabled.
### Check List (For Author)
- Test:
- FE unit test: LocalShuffleNodeCoverageTest, 29/29 passed
- Regression test: test_select_analytic_shuffle_join passed on a
single-BE, 14-core local cluster with parallel_pipeline_task_num=3
- FE Maven compilation and Checkstyle passed with build.sh --fe -j6
- Behavior changed: Yes. Hash distribution required above Select is enforced
with the consumer-owned keys.
- 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]