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


##########
fe/fe-core/src/main/java/org/apache/doris/qe/SessionVariable.java:
##########
@@ -1040,6 +1046,28 @@ public static double getHotValueThreshold() {
     @VarAttrDef.VarAttr(name = EXPAND_RUNTIME_FILTER_BY_INNER_JION)
     public boolean expandRuntimeFilterByInnerJoin = true;
 
+    @VarAttrDef.VarAttr(name = ENABLE_DECOUPLED_RUNTIME_FILTER,
+            description = {"启用解耦 Runtime Filter:允许 RF 的生产者和条件来源分属不同 join 节点",
+                    "Enable decoupled runtime filter: allow RF producer and 
predicate source "
+                    + "to be on different join nodes"})
+    public boolean enableDecoupledRuntimeFilter = true;
+

Review Comment:
   Enabling this by default makes new FEs generate decoupled runtime filters 
with `TRuntimeFilterDesc.expr_order = -1` for eligible plans. That is not 
compatible with old BEs during rolling upgrade: before this PR, 
`RuntimeFilterProducerHelper::_init_expr()` unconditionally uses 
`build_expr_ctxs[runtime_filter_descs[i].expr_order]`, so `-1` is treated as an 
invalid array index and can crash or fail query execution. The new optional 
`wait_time_ms` field is backward-compatible, but the new `expr_order` meaning 
is not. Please either default this off until all BEs support it, or gate 
decoupled RF generation on a BE capability/execution-version check so 
mixed-version clusters never receive `expr_order = -1`.



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