From a261b864cab760d4d2fdab3ab569194ef821c8ab Mon Sep 17 00:00:00 2001 From: tjq Date: Sun, 11 Aug 2024 01:20:04 +0800 Subject: [PATCH] fix: Single worker use padding mode made deadlock #918 --- .../core/tracker/task/heavy/HeavyTaskTracker.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/powerjob-worker/src/main/java/tech/powerjob/worker/core/tracker/task/heavy/HeavyTaskTracker.java b/powerjob-worker/src/main/java/tech/powerjob/worker/core/tracker/task/heavy/HeavyTaskTracker.java index 80bfce2b..443cbfd1 100644 --- a/powerjob-worker/src/main/java/tech/powerjob/worker/core/tracker/task/heavy/HeavyTaskTracker.java +++ b/powerjob-worker/src/main/java/tech/powerjob/worker/core/tracker/task/heavy/HeavyTaskTracker.java @@ -456,8 +456,6 @@ public abstract class HeavyTaskTracker extends TaskTracker { // 数据库查询限制,每次最多查询几个任务 private static final int DB_QUERY_LIMIT = 100; - private static final int STANDALONE_SIZE = 1; - @Override public void run0() { @@ -519,8 +517,12 @@ public abstract class HeavyTaskTracker extends TaskTracker { */ private boolean taskNeedByPassTaskTracker(List availablePtIps) { if (ExecuteType.MAP.equals(executeType) || ExecuteType.MAP_REDUCE.equals(executeType)) { - return TaskTrackerBehavior.PADDLING.getV().equals(advancedRuntimeConfig.getTaskTrackerBehavior()) && - availablePtIps.size() != STANDALONE_SIZE; + + if (availablePtIps.size() <= 1) { + return false; + } + + return TaskTrackerBehavior.PADDLING.getV().equals(advancedRuntimeConfig.getTaskTrackerBehavior()); } return false; }