From 6dae8aace5d9883d99709ea68c74af2155cf13ad Mon Sep 17 00:00:00 2001 From: opensnail <598092184@qq.com> Date: Fri, 28 Jun 2024 15:27:11 +0800 Subject: [PATCH] =?UTF-8?q?fix(sj=5F1.1.0-beta2):=20=E4=BF=AE=E5=A4=8Dredu?= =?UTF-8?q?ce=E5=88=86=E7=89=87=E7=AE=97=E6=B3=95=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/task/MapReduceTaskGenerator.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/generator/task/MapReduceTaskGenerator.java b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/generator/task/MapReduceTaskGenerator.java index 72e2b7f9..7de1fd40 100644 --- a/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/generator/task/MapReduceTaskGenerator.java +++ b/snail-job-server/snail-job-server-job-task/src/main/java/com/aizuda/snailjob/server/job/task/support/generator/task/MapReduceTaskGenerator.java @@ -131,10 +131,15 @@ public class MapReduceTaskGenerator extends AbstractJobTaskGenerator { .eq(JobTask::getLeaf, StatusEnum.YES.getStatus()) ); - // 这里需要判断是否是map - List allMapJobTasks = StreamUtils.toList(jobTasks, JobTask::getResultMessage); + if (CollUtil.isEmpty(jobTasks)) { + return Lists.newArrayList(); + } - List> partition = Lists.partition(allMapJobTasks, reduceParallel); + // 这里需要判断是否是map + // 平均分配map集合, 若reduceParallel > allMapJobTasks.size(), 则取allMapJobTasks.size()作为分片数 + List allMapJobTasks = StreamUtils.toList(jobTasks, JobTask::getResultMessage); + int size = (allMapJobTasks.size() + reduceParallel - 1) / reduceParallel; + List> partition = Lists.partition(allMapJobTasks, size); jobTasks = new ArrayList<>(partition.size()); final List finalJobTasks = jobTasks;