924060929 commented on code in PR #67177:
URL: https://github.com/apache/doris/pull/67177#discussion_r3956682308
##########
be/src/exec/pipeline/pipeline_fragment_context.cpp:
##########
@@ -769,13 +769,8 @@ Status
PipelineFragmentContext::_create_deferred_local_exchangers() {
sender_count, _num_instances, info.free_blocks_limit);
break;
case TLocalPartitionType::PASS_TO_ONE:
- if (_runtime_state->enable_share_hash_table_for_broadcast_join()) {
- info.shared_state->exchanger =
PassToOneExchanger::create_unique(
- sender_count, _num_instances, info.free_blocks_limit);
- } else {
- info.shared_state->exchanger =
BroadcastExchanger::create_unique(
- sender_count, _num_instances, info.free_blocks_limit);
- }
+ info.shared_state->exchanger = PassToOneExchanger::create_unique(
Review Comment:
Fixed in 7e3ebfd1518. The normal BE-first rolling upgrade exposes the
mismatch in the old-FE/new-BE direction: the old FE can send version 14
PASS_TO_ONE for a serial private broadcast build, where the legacy meaning must
still fan out all build rows. This change allocates execution version 15 for
unconditional FE-planned PASS_TO_ONE and advances both FE and BE maxima
consistently. On the new BE, version 14 now keeps N downstream tasks/source
dependencies and the historical share-enabled gather/share-disabled broadcast
selection; only version 15 reduces the downstream source cardinality and
unconditionally selects PassToOneExchanger. The new BE unit test covers the
version 14, sharing-disabled old-FE request explicitly, alongside the version
15 one-source path.
--
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]