Commit a2bfd92
committed
[refactor](local shuffle) Refactor FE local exchange planning: extract helper, fix root PASSTHROUGH, fix ScanNode output
1. Extract duplicated heavy-ops bottleneck avoidance code from enforceChild/
enforceChildExchange/forceEnforceChildExchange into insertLocalExchange().
2. Fix root-level PASSTHROUGH insertion: only check newRoot.isSerialOperator()
instead of recursive hasSerialChildren() — after enforceAndDeriveLocalExchange(),
serial children are already handled by LocalExchangeNodes inserted during tree walk.
This fixes 6 FE/BE consistency mismatches where FE inserted ~2x PASSTHROUGH vs BE.
3. Fix ScanNode base class: return NOOP instead of BUCKET_HASH_SHUFFLE (only
OlapScanNode should report bucket distribution for non-pooling scans).
4. Remove ExchangeNode.toThrift() dependency on hasSerialScanNode() — with FE-planned
local exchanges, serial scans are handled by PASSTHROUGH fan-out.
5. Fix DistributePlanner: BUCKET_SHUFFLE with local shuffle returns all instances
(not just first-per-worker); use assignedJoinBucketIndexes for bucket mapping.
6. Cap parallelism in UnassignedScanBucketOlapTableJob when fragment has non-serial
exchange to avoid padding instances that hang.
7. Remove dead DataStreamSink.getLocalExchangeTypeRequire() override.
8. Inline shouldUseLocalExecutionHash() constant.
9. Fix test Bug 18/19: use col_int_undef_signed (existing column) instead of
col_varchar_10__undef_signed (non-existent).1 parent 6e225bb commit a2bfd92
9 files changed
Lines changed: 123 additions & 115 deletions
File tree
- fe/fe-core/src/main/java/org/apache/doris
- nereids/trees/plans/distribute
- worker/job
- planner
- regression-test/suites/nereids_p0/local_shuffle
Lines changed: 22 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
244 | 245 | | |
245 | 246 | | |
246 | 247 | | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
247 | 255 | | |
248 | 256 | | |
249 | 257 | | |
| |||
256 | 264 | | |
257 | 265 | | |
258 | 266 | | |
259 | | - | |
260 | | - | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
261 | 281 | | |
262 | 282 | | |
263 | 283 | | |
| |||
Lines changed: 22 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
539 | 539 | | |
540 | 540 | | |
541 | 541 | | |
542 | | - | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
| 550 | + | |
| 551 | + | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
543 | 564 | | |
544 | 565 | | |
Lines changed: 15 additions & 21 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
80 | 76 | | |
81 | | - | |
82 | | - | |
83 | | - | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
84 | 83 | | |
85 | 84 | | |
86 | 85 | | |
| |||
116 | 115 | | |
117 | 116 | | |
118 | 117 | | |
119 | | - | |
| 118 | + | |
120 | 119 | | |
121 | 120 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
| 121 | + | |
131 | 122 | | |
132 | 123 | | |
133 | 124 | | |
134 | 125 | | |
135 | | - | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
136 | 130 | | |
137 | 131 | | |
Lines changed: 0 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
| |||
241 | 240 | | |
242 | 241 | | |
243 | 242 | | |
244 | | - | |
245 | | - | |
246 | | - | |
247 | | - | |
248 | 243 | | |
Lines changed: 6 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
102 | 102 | | |
103 | 103 | | |
104 | 104 | | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
114 | 111 | | |
115 | 112 | | |
116 | 113 | | |
| |||
Lines changed: 7 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1419 | 1419 | | |
1420 | 1420 | | |
1421 | 1421 | | |
1422 | | - | |
| 1422 | + | |
| 1423 | + | |
| 1424 | + | |
| 1425 | + | |
| 1426 | + | |
| 1427 | + | |
| 1428 | + | |
1423 | 1429 | | |
1424 | 1430 | | |
0 commit comments