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


##########
fe/fe-core/src/main/java/org/apache/doris/qe/runtime/RuntimeFiltersThriftBuilder.java:
##########
@@ -48,17 +56,73 @@ public class RuntimeFiltersThriftBuilder {
     private final Set<Integer> broadcastRuntimeFilterIds;
     private final Map<RuntimeFilterId, List<RuntimeFilterTarget>> ridToTargets;
     private final Map<RuntimeFilterId, Integer> ridToBuilderNum;
+    private final boolean limitBroadcastRuntimeFilterProducers;
+    private final Map<Long, List<Integer>> workerIdToBroadcastRuntimeFilterIds;
 
     private RuntimeFiltersThriftBuilder(
             TNetworkAddress mergeAddress, List<RuntimeFilter> runtimeFilters,
             Set<Integer> broadcastRuntimeFilterIds,
             Map<RuntimeFilterId, List<RuntimeFilterTarget>> ridToTargets,
-            Map<RuntimeFilterId, Integer> ridToBuilderNum) {

Review Comment:
   This prunes every `TPlanNode.runtime_filters` entry in the fragment, but 
that field is not producer-only. `RuntimeFilter.assignToPlanNodes()` adds the 
same `RuntimeFilter` to the builder node and to each target scan node, and BE 
scan operators register consumers from `tnode.runtime_filters`. For a broadcast 
RF with remote targets, a target scan fragment sent to a BE that was not 
selected as a producer will lose this descriptor here, so that BE never 
registers or applies the runtime filter. Please restrict the pruning to 
builder-side descriptors only, or otherwise preserve target/sink consumer 
descriptors while still dropping the producer descriptor on non-selected build 
workers.



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