diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java index 3b47fb4b5d7cf5..40891e82a42957 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/PlanPostProcessors.java @@ -69,9 +69,9 @@ public List getProcessors() { } } builder.add(new Validator()); + builder.add(new RecomputeLogicalPropertiesProcessor()); builder.add(new TopNScanOpt()); builder.add(new TwoPhaseReadOpt()); - builder.add(new RecomputeLogicalPropertiesProcessor()); return builder.build(); } } diff --git a/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java b/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java index a3449909deb9c2..b38f4876e39cae 100644 --- a/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java +++ b/fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/TopNRuntimeFilterTest.java @@ -39,7 +39,7 @@ public void testUseTopNRf() { .rewrite() .implement(); PhysicalPlan plan = checker.getPhysicalPlan(); - new PlanPostProcessors(checker.getCascadesContext()).process(plan); + plan = new PlanPostProcessors(checker.getCascadesContext()).process(plan); Assertions.assertTrue(plan.children().get(0).child(0) instanceof PhysicalTopN); PhysicalTopN localTopN = (PhysicalTopN) plan.children().get(0).child(0); Assertions.assertTrue(localTopN.getMutableState(PhysicalTopN.TOPN_RUNTIME_FILTER).isPresent()); @@ -53,7 +53,7 @@ public void testNotUseTopNRf() { .rewrite() .implement(); PhysicalPlan plan = checker.getPhysicalPlan(); - new PlanPostProcessors(checker.getCascadesContext()).process(plan); + plan = new PlanPostProcessors(checker.getCascadesContext()).process(plan); Assertions.assertTrue(plan.children().get(0) instanceof PhysicalTopN); PhysicalTopN localTopN = (PhysicalTopN) plan.children().get(0); Assertions.assertFalse(localTopN.getMutableState(PhysicalTopN.TOPN_RUNTIME_FILTER).isPresent());