924060929 commented on code in PR #67177:
URL: https://github.com/apache/doris/pull/67177#discussion_r3923593796
##########
be/src/exec/pipeline/pipeline_fragment_context.cpp:
##########
@@ -2058,14 +2050,22 @@ Status
PipelineFragmentContext::_create_operator(ObjectPool* pool, const TPlanNo
// sink round-robins to all channels and crashes on uninitialized ones.
RETURN_IF_ERROR(cur_pipe->add_operator(op, _parallel_instances));
// Restore downstream pipeline's num_tasks (mirroring
_inherit_pipeline_properties:
- // downstream keeps _num_instances, upstream gets the serial/reduced
count)
- cur_pipe->set_num_tasks(_num_instances);
+ // downstream keeps _num_instances, upstream gets the serial/reduced
count).
+ // PASS_TO_ONE is the explicit parallel-to-serial boundary: its
downstream
+ // pipeline must keep the serial parent's single task, while the
upstream
+ // pipeline is expanded below so every remote receiver remains live.
+ if (partition_type != TLocalPartitionType::PASS_TO_ONE) {
Review Comment:
The missing coverage is now actually added in cac69618e9e. The
fragment-construction test pins execution version 14, PASS_TO_ONE type, four
upstream tasks, one downstream task, and one source dependency/memory counter.
The parameterized exchanger test exercises both the existing four-source shape
and the new four-sender/one-source shape through data delivery, diagnostics,
all sink closes, EOS, the single source close, and finalize. clang-format v16,
git diff --check, and clang-tidy for the modified test file pass; full BE UT is
delegated to the newly triggered remote build.
--
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]