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