diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java index c8ffffa12e..7b6ee19521 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterContext.java @@ -45,6 +45,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import java.util.ArrayList; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -353,7 +354,7 @@ public class RuntimeFilterContext { } public List getTargetExprIdByFilterJoin(AbstractPhysicalJoin join) { - return joinToTargetExprId.get(join); + return joinToTargetExprId.getOrDefault(join, new ArrayList<>()); } public SlotReference getCorrespondingOlapSlotReference(SlotReference slot) { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPruner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPruner.java index fb6e54e38a..f85e5eebd2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPruner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPruner.java @@ -155,7 +155,7 @@ public class RuntimeFilterPruner extends PlanPostProcessor { context.getRuntimeFilterContext().addEffectiveSrcNode(join, childType); } else { List exprIds = rfContext.getTargetExprIdByFilterJoin(join); - if (exprIds != null && !exprIds.isEmpty()) { + if (!exprIds.isEmpty()) { boolean isEffective = false; for (Expression expr : join.getEqualToConjuncts()) { if (isEffectiveRuntimeFilter((EqualTo) expr, join)) {