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

Aaron Kimball commented on MAPREDUCE-1499:
------------------------------------------

The JobTracker lock is not the issue. finalizeJob locks the JobTracker's 
TaskScheduler instance after taking the lock on the JobTracker itself. Per 
MAPREDUCE-1436, the lock order is JT -> TS -> JIP. Locking JT -> JIP -> TS is a 
deadlock. This patch adds locks on the TaskScheduler instance to ensure the 
correct order is held.

> JobTracker.finalizeJob inverts lock order and causes potential deadlock
> -----------------------------------------------------------------------
>
>                 Key: MAPREDUCE-1499
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-1499
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: jobtracker
>    Affects Versions: 0.20.1, 0.20.2
>            Reporter: Todd Lipcon
>            Assignee: Aaron Kimball
>            Priority: Critical
>         Attachments: jcarder_result_1.dot.png, jcarder_result_8.dot.png, 
> MAPREDUCE-1499.patch
>
>
> This issue was brought up by Matei in MAPREDUCE-1436 as a fairsched bug, but 
> it turns out it's a JT bug even with the fifo scheduler in unpatched 0.20.2. 
> JobTracker.finalizeJob locks JT.jobs, JT.taskScheduler, etc, having gotten 
> the JIP log before the JT lock.

-- 
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