diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java index 1a239e3122a365..64813f1b7b58e9 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/runtime/ThriftPlansBuilder.java @@ -822,6 +822,7 @@ private static Set setParamsForRecursiveCteNode(List targets = new ArrayList<>(); // reset infos for all instances of child fragments (used to reset state) List fragmentsToReset = new ArrayList<>(); + Set resetFragmentKeys = new HashSet<>(); // The recursive side is under the right child; collect all fragments List childFragments = new ArrayList<>(); recursiveCteNode.getChild(1).getChild(0).getFragment().collectAll(PlanFragment.class::isInstance, @@ -845,6 +846,11 @@ private static Set setParamsForRecursiveCteNode(List