[ 
https://issues.apache.org/jira/browse/MAPREDUCE-1342?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12796571#action_12796571
 ] 

Jothi Padmanabhan commented on MAPREDUCE-1342:
----------------------------------------------

Prior to the patch, all accesses to FaultInfo objects were synchronized on 
potentiallyFaultyTrackers and so sort of internally synchronized themselves. 
However, we are relaxing that restriction with this patch, atleast for 
isBlackListed and the reasonForBlacklisting. I think we should guard the 
accesses to these variables or make them volatile, no?

> Potential JT deadlock in faulty TT tracking
> -------------------------------------------
>
>                 Key: MAPREDUCE-1342
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1342
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>    Affects Versions: 0.22.0
>            Reporter: Todd Lipcon
>         Attachments: cycle0.png, mapreduce-1342-1.patch, 
> mapreduce-1342-2.patch
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to