Uh oh!
There was an error while loading. Please reload this page.
[Exec](colocate) disable colocate group execution in bucket shuffle join - #63200
Conversation
hello-stephen
commented
May 13, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
HappenLee
commented
May 13, 2026
run buildall |
hello-stephen
commented
May 13, 2026
TPC-H: Total hot run time: 30942 ms |
hello-stephen
commented
May 13, 2026
TPC-DS: Total hot run time: 169461 ms |
hello-stephen
commented
May 13, 2026
FE UT Coverage ReportIncrement line coverage |
hello-stephen
commented
May 13, 2026
FE Regression Coverage ReportIncrement line coverage |
englefly
commented
May 14, 2026
run external |
hello-stephen
commented
May 14, 2026
FE Regression Coverage ReportIncrement line coverage |
PR approved by at least one committer and no changes requested. |
PR approved by anyone and no changes requested. |
HappenLee
commented
May 15, 2026
/review |
There was a problem hiding this comment.
Review result: no blocking issues found. The change is focused on avoiding tablet-count-based parallelism when a bucket/colocate scan fragment has exchange children, and the fallback matches the existing base scan parallelism path.
Critical checkpoints:
- Goal/test: The PR goal is to avoid over-parallelizing bucket shuffle join fragments; the code implements this by detecting non-empty exchange child jobs and falling back to the base degree-of-parallelism logic. The added unit test covers both exchange-present and pure colocate/no-exchange paths.
- Scope: The modification is small and localized to UnassignedScanBucketOlapTableJob.degreeOfParallelism, with a focused unit test.
- Concurrency/lifecycle: No new shared mutable state, threads, locks, or lifecycle-sensitive objects are introduced.
- Config/compatibility: No new configuration, persistence, serialization, FE-BE protocol, or storage format compatibility changes are introduced.
- Parallel paths: The affected construction path is the bucket-assigned OLAP scan job used for colocate/bucket-shuffle fragments; the fallback delegates to the existing AbstractUnassignedScanJob behavior.
- Conditional checks: The new condition is simple and documented; existing early exits for unpartitioned/query-cache/one-instance cases continue to mirror the base behavior.
- Test coverage: Targeted FE unit test passed: fe/mvnw -pl fe-core -Dtest=UnassignedScanBucketOlapTableJobTest test -Dskip.doc=true. No regression test was added; given this is planner parallelism behavior, a future explain/regression case could further protect end-to-end behavior, but I do not consider it blocking for this small fix.
- Observability/performance: No additional observability is required. The change reduces unnecessary instance parallelism for exchange-containing fragments.
- Data correctness/transactions: No transaction, visible-version, persistence, or data write path changes.
User focus: No additional user-provided review focus was present.
Uh oh!
There was an error while loading. Please reload this page.
…oin (apache#63200) ### What problem does this PR solve? Issue Number: None Related PR: apache#63062 Problem Summary: Disable colocate-style parallelization for bucket shuffle join fragments. When exchange nodes exist, `UnassignedScanBucketOlapTableJob` now falls back to the base degree-of-parallelism logic instead of using the tablet-based colocate strategy, which avoids over-parallelizing join fragments. The colocate path is still kept for pure colocate scans without exchange nodes.
What problem does this PR solve?
Issue Number: None
Related PR: #63062
Problem Summary:
Disable colocate-style parallelization for bucket shuffle join fragments. When exchange nodes exist,
UnassignedScanBucketOlapTableJobnow falls back to the base degree-of-parallelism logic instead of using the tablet-based colocate strategy,which avoids over-parallelizing join fragments. The colocate path is still kept for pure colocate scans without exchange nodes.
Release note
None
Check List (For Author)
Check List (For Reviewer who merge this PR)