shuke987 opened a new pull request, #65205:
URL: https://github.com/apache/doris/pull/65205
### What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
A muted FE UT failure in `DistributeHintTest.testLeading` exposed that
leading hint can match a semi join constraint when the semi join right-hand
side is only a subset of one candidate child. The left-side check in
`LeadingHint#getJoinConstraint` used the same subset predicate on both sides of
the condition, making that guard always false.
This patch makes the left-side check symmetrical with the right-side check:
when the semi join right-hand side is already in a candidate child, it must
match that child bitmap exactly. A unit test covers both the valid exact
reversed semi-join case and the invalid case where the right-hand side is
joined with an extra table.
### Release note
None
### Check List (For Author)
- Test
- [x] Unit Test
- [ ] Regression test
- [ ] Manual test
- [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
- [ ] Previous test can cover this change.
- [ ] No code files have been changed.
- [ ] Other reason
`./run-fe-ut.sh --run org.apache.doris.nereids.hint.LeadingHintTest`
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]