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]