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 b18404fb9194311..9bf1014b223f041 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 @@ -472,12 +472,16 @@ private static Map computeBucketIdToInstanceId(PipelineDistrib } Map bucketIdToInstanceId = Maps.newLinkedHashMap(); - filterInstancesWhichReceiveDataFromRemote(receivePlan, (instanceJob, instanceIdInThisBackend) -> { - BucketScanSource scanSource = (BucketScanSource) instanceJob.getScanSource(); - for (Integer bucketIndex : scanSource.bucketIndexToScanNodeToTablets.keySet()) { - bucketIdToInstanceId.put(bucketIndex, instanceIdInThisBackend); + for (AssignedJob instanceJob : instanceJobs) { + if (instanceJob instanceof LocalShuffleAssignedJob + && ((LocalShuffleAssignedJob) instanceJob).receiveDataFromLocal) { + continue; } - }); + BucketScanSource bucketScanSource = (BucketScanSource) instanceJob.getScanSource(); + for (Integer bucketIndex : bucketScanSource.bucketIndexToScanNodeToTablets.keySet()) { + bucketIdToInstanceId.put(bucketIndex, instanceJob.indexInUnassignedJob()); + } + } return bucketIdToInstanceId; }