fix: Single worker use padding mode made deadlock #918

This commit is contained in:
tjq 2024-08-11 01:20:04 +08:00
parent 4f5ea6f897
commit a261b864ca

View File

@ -456,8 +456,6 @@ public abstract class HeavyTaskTracker extends TaskTracker {
// 数据库查询限制每次最多查询几个任务 // 数据库查询限制每次最多查询几个任务
private static final int DB_QUERY_LIMIT = 100; private static final int DB_QUERY_LIMIT = 100;
private static final int STANDALONE_SIZE = 1;
@Override @Override
public void run0() { public void run0() {
@ -519,8 +517,12 @@ public abstract class HeavyTaskTracker extends TaskTracker {
*/ */
private boolean taskNeedByPassTaskTracker(List<String> availablePtIps) { private boolean taskNeedByPassTaskTracker(List<String> availablePtIps) {
if (ExecuteType.MAP.equals(executeType) || ExecuteType.MAP_REDUCE.equals(executeType)) { 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; return false;
} }