diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/ApplyPullFilterOnAgg.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/ApplyPullFilterOnAgg.java index 293aff291f..3ddd25b719 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/ApplyPullFilterOnAgg.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/ApplyPullFilterOnAgg.java @@ -68,6 +68,11 @@ public class ApplyPullFilterOnAgg extends OneRewriteRuleFactory { List correlatedPredicate = split.get(true); List unCorrelatedPredicate = split.get(false); + // the representative has experienced the rule and added the correlated predicate to the apply node + if (correlatedPredicate.isEmpty()) { + return apply; + } + LogicalFilter newUnCorrelatedFilter = null; if (!unCorrelatedPredicate.isEmpty()) { newUnCorrelatedFilter = new LogicalFilter<>(ExpressionUtils.and(unCorrelatedPredicate),