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


##########
fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java:
##########
@@ -116,8 +116,12 @@ public static Map<DistributedPlanWorker, 
TPipelineFragmentParamsList> plansToThr
         // we should set runtime predicate first, then we can use heap sort 
and to thrift
         setRuntimePredicateIfNeed(coordinatorContext.scanNodes);
 
+        int broadcastRuntimeFilterProducerNum = 
coordinatorContext.connectContext == null

Review Comment:
   This only applies the new session variable in the Nereids 
`ThriftPlansBuilder` path. The legacy/fallback `Coordinator` path still builds 
`TRuntimeFilterParams` directly in `Coordinator.FragmentExecParams.toThrift()` 
and sends `fragment.toThrift()` unchanged to every backend, so `SET 
runtime_filter_broadcast_join_producer_num = 1` has no effect whenever 
execution falls back to the plain `Coordinator` path, for example when the 
distributed Nereids planner is disabled. Since the variable is exposed as a 
normal session variable with default `3`, users get different behavior for the 
same setting depending on the coordinator path. Please either apply the same 
producer-selection/pruning logic in the legacy coordinator path, or explicitly 
make this a Nereids-only variable/behavior and cover that intentional 
difference with tests/docs.



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