github-actions[bot] commented on code in PR #67177:
URL: https://github.com/apache/doris/pull/67177#discussion_r3878068841
##########
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/DistributePlanner.java:
##########
@@ -212,12 +222,14 @@ private void linkPipelinePlan(
PipelineDistributedPlan receiverPlan,
PipelineDistributedPlan senderPlan,
ExchangeNode linkNode,
- boolean enableShareHashTableForBroadcastJoin) {
+ boolean enableShareHashTableForBroadcastJoin,
+ boolean enableLocalShufflePlanner) {
Review Comment:
[P1] Carry the frozen planner mode into Exchange seriality too. On execution
version 13, `localShufflePlanned` is false, but this call drops it before
`filterInstancesWhichCanReceiveDataFromRemote()`. That filter and
`ExchangeNode.toThrift()` still call `isSerialOperatorOnBe()` with the raw
session flag (still true), so a HASH Exchange in a serial-scan fragment is
marked non-serial and every pooled instance is targeted. The native fallback
keeps the serial aggregate's receiver subtree at one task
(`num_tasks_of_parent() <= 1`), so rows/EOS sent to the other logical receivers
can be lost or wait forever. Please use the effective query decision for
receiver filtering and Exchange Thrift seriality, and extend the v13 test to
assert both destinations and `is_serial_operator`. This is distinct from the
earlier thread: that suppressed FE local exchanges and changed query options;
this remaining path still reads the raw flag.
--
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]