mirror of
https://github.com/PowerJob/PowerJob.git
synced 2025-07-17 00:00:04 +08:00
fix: create TaskTracker failed causes HashMap to deadlock
This commit is contained in:
parent
fb2046649e
commit
a25eac67c7
@ -21,8 +21,11 @@ public class LightTaskTrackerManager {
|
||||
return INSTANCE_ID_2_TASK_TRACKER.get(instanceId);
|
||||
}
|
||||
|
||||
public static LightTaskTracker removeTaskTracker(Long instanceId) {
|
||||
return INSTANCE_ID_2_TASK_TRACKER.remove(instanceId);
|
||||
public static void removeTaskTracker(Long instanceId) {
|
||||
// 忽略印度的 IDE 警告,这个判断非常有用!!!不加这个判断会导致:如果创建 TT(先执行 computeIfAbsent 正在将TT添加到 HashMap) 时报错,TT 主动调用 destroy 销毁(从 HashMap移除该 TT)时死锁
|
||||
if (INSTANCE_ID_2_TASK_TRACKER.containsKey(instanceId)) {
|
||||
INSTANCE_ID_2_TASK_TRACKER.remove(instanceId);
|
||||
}
|
||||
}
|
||||
|
||||
public static void atomicCreateTaskTracker(Long instanceId, Function<Long, LightTaskTracker> creator) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user