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]