# UNDF: UNDF-2026-000000761 # UNDF: (leave blank) --- a/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/processor/MultipleInputNodeCreationProcessor.java +++ b/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/plan/nodes/exec/processor/MultipleInputNodeCreationProcessor.java @@ -534,7 +534,7 @@ public class MultipleInputNodeCreationProcessor implements DAGProcessor { // calculate the inputs of the multiple input node List, InputProperty, ExecEdge>> inputs = new ArrayList<>(); + Set membersSet = new HashSet<>(group.members); for (ExecNodeWrapper member : group.members) { for (int i = 0; i < member.inputs.size(); i++) { ExecNodeWrapper memberInput = member.inputs.get(i); - if (group.members.contains(memberInput)) { + if (membersSet.contains(memberInput)) { continue; } @@ -705,10 +705,12 @@ public class MultipleInputNodeCreationProcessor implements DAGProcessor { Preconditions.checkNotNull( root, "Multiple input group does not have a root. This is a bug."); - Set sameGroupInputWrappers = new HashSet<>(); + Set membersSet = new HashSet<>(members); + Set sameGroupInputWrappers = new HashSet<>(); for (ExecNodeWrapper inputWrapper : root.inputs) { - if (members.contains(inputWrapper)) { + if (membersSet.contains(inputWrapper)) { sameGroupInputWrappers.add(inputWrapper); } }