Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.20.1
-
None
-
Reviewed
-
Fix for a potential deadlock in the global blacklist of tasktrackers feature.
Description
JT$FaultyTrackersInfo.incrementFaults first locks potentiallyFaultyTrackers, and then calls blackListTracker, which calls removeHostCapacity, which locks JT.taskTrackers
On the other hand, JT.blacklistedTaskTrackers() locks taskTrackers, then calls faultyTrackers.isBlacklisted() which goes on to lock potentiallyFaultyTrackers.
I haven't produced such a deadlock, but the lock ordering here is inverted and therefore could deadlock.
Not sure if this goes back to 0.21 or just in trunk.