github-actions[bot] commented on code in PR #64596:
URL: https://github.com/apache/doris/pull/64596#discussion_r3443444094


##########
be/src/exec/operator/nested_loop_join_build_operator.cpp:
##########
@@ -112,6 +130,14 @@ Status 
NestedLoopJoinBuildSinkOperatorX::sink_impl(doris::RuntimeState* state, B
     }
 
     if (eos) {
+        if (!state->is_cancelled()) {
+            auto build_blocks = local_state._shared_state->build_blocks.copy();
+            RETURN_IF_ERROR(
+                    
local_state._runtime_filter_producer_helper->process(state, build_blocks));
+        }
+        local_state._shared_state->build_side_eos = true;

Review Comment:
   This wakes the probe after a prefix is published, but it never pauses the 
build sink itself. The sink dependency is created ready, and this branch does 
not call `block()`, so `PipelineTask::execute()` keeps looping through 
`get_block_after_projects()`/`sink()` until the build source blocks, reaches 
EOS, or the task time slice expires. With a fast build child that can produce 
the full build within that window, the probe side only gets scheduled after the 
build has already been fully consumed and buffered, so LIMIT cannot set 
`build_side_no_more_required` early. That leaves the new path with the old 
behavior for the fast-build LIMIT case. Please make prefix publication a real 
request/response handoff, for example by blocking the build sink dependency 
after publishing a prefix and having `_request_more_build_data()` wake it with 
`set_ready_to_write()` after its race recheck, or otherwise force the build 
task to yield here.



-- 
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]

Reply via email to