Skip to content

[pick](code) pick "adjust some local shuffle rules" and "[conf](passthrough) add ForcePassthrough SessionVariable"#61275

Merged
yiguolei merged 2 commits intoapache:branch-4.1from
Mryange:branch-4.0-pick-59366-4.1
Mar 13, 2026
Merged

[pick](code) pick "adjust some local shuffle rules" and "[conf](passthrough) add ForcePassthrough SessionVariable"#61275
yiguolei merged 2 commits intoapache:branch-4.1from
Mryange:branch-4.0-pick-59366-4.1

Conversation

@Mryange
Copy link
Contributor

@Mryange Mryange commented Mar 12, 2026

What problem does this PR solve?

#59366
#60671

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • 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
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

BiteTheDDDDt and others added 2 commits March 12, 2026 18:22
1. make distinct streaming agg always shuffle(Improve parallelism)
2. make broadcast join probe do not shuffle

This pull request updates the logic for determining required data
distributions in the aggregation and join pipeline operators. The main
focus is on improving the handling of exchange types, especially for
passthrough and broadcast scenarios.

Key changes include:

**Data distribution logic updates:**

* In `DistinctStreamingAggOperatorX`, the method now always returns
`ExchangeType::PASSTHROUGH` instead of delegating to the base class,
simplifying the distribution requirement when colocation is not needed.
* In `HashJoinProbeOperatorX`, the logic for broadcast joins is refined:
if the child is a serial operator, it returns
`ExchangeType::PASSTHROUGH`; otherwise, it returns `ExchangeType::NOOP`.
The handling of bucket shuffle and colocate join distributions is also
clarified.
Increase parallelism by inserting Passthrough operators between certain
operators; this has been validated on datasets such as TPC-DS and TPC-H.
@Mryange Mryange requested a review from yiguolei as a code owner March 12, 2026 10:23
@hello-stephen
Copy link
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@Mryange
Copy link
Contributor Author

Mryange commented Mar 12, 2026

run buildall

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 43.24% (16/37) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.98% (19163/36168)
Line Coverage 36.17% (178399/493282)
Region Coverage 32.75% (138231/422047)
Branch Coverage 33.76% (60041/177861)

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100.00% (37/37) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.40% (25294/35428)
Line Coverage 53.99% (265990/492649)
Region Coverage 51.67% (220411/426537)
Branch Coverage 53.08% (94808/178622)

@hello-stephen
Copy link
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 79.15% (1788/2259)
Line Coverage 64.53% (31962/49530)
Region Coverage 65.38% (15996/24468)
Branch Coverage 55.98% (8517/15214)

@yiguolei yiguolei merged commit 24fd23b into apache:branch-4.1 Mar 13, 2026
13 of 14 checks passed
yiguolei pushed a commit that referenced this pull request Mar 16, 2026
…hrough) add ForcePassthrough SessionVariable" (#61275)

### What problem does this PR solve?

#59366
#60671


Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [ ] Regression test
    - [ ] Unit Test
    - [ ] Manual test (add detailed scripts or steps below)
    - [ ] 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 <!-- Add your reason?  -->

- Behavior changed:
    - [ ] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [ ] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->

### Check List (For Reviewer who merge this PR)

- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->

---------

Co-authored-by: Pxl <xl@selectdb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants