diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/DistributePlanner.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/DistributePlanner.java index 80622b96d868db..4fe4b4d32c7370 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/DistributePlanner.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/DistributePlanner.java @@ -44,6 +44,7 @@ import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.ListMultimap; import com.google.common.collect.Lists; +import com.google.common.collect.Maps; import com.google.common.collect.SetMultimap; import java.util.Arrays; @@ -51,8 +52,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Objects; -import java.util.function.Function; -import java.util.stream.Collectors; /** DistributePlanner */ public class DistributePlanner { @@ -220,12 +219,10 @@ private List getFirstInstancePerShareScan(PipelineDistributedPlan p } private List getFirstInstancePerWorker(List instances) { - Map firstInstancePerWorker = instances.stream() - .collect(Collectors.toMap( - AssignedJob::getAssignedWorker, - Function.identity(), - (firstInstance, otherInstance) -> firstInstance) - ); + Map firstInstancePerWorker = Maps.newLinkedHashMap(); + for (AssignedJob instance : instances) { + firstInstancePerWorker.putIfAbsent(instance.getAssignedWorker(), instance); + } return Utils.fastToImmutableList(firstInstancePerWorker.values()); } }