[ https://issues.apache.org/jira/browse/MAPREDUCE-1436?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834665#action_12834665 ]
Todd Lipcon commented on MAPREDUCE-1436: ---------------------------------------- Hi Matei, I don't think this issue actually occurs in trunk - I'm speaking now about the top issue from this issue involving finalizeJob. MAPREDUCE-870 refactored this stuff, and finalizeJob therefore no longer has to go "upwards" to the scheduler lock. I turned on preemption and ran a couple of sleep jobs under jcarder, and it didn't identify this issue either. Just to sanity check myself, I added a synchronized (taskTrackerScheduler) { System.err.println("hi"); } in the finalizeJob method, and reran the test. jcarder spit out the expected potential deadlock just like you saw it. I think, really, the JT was at fault here for inverting the lock heirarchy. It no longer does this, so I think we're safe without this patch. What do you think? > Deadlock in preemption code in fair scheduler > --------------------------------------------- > > Key: MAPREDUCE-1436 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-1436 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: contrib/fair-share > Affects Versions: 0.21.0, 0.22.0 > Reporter: Matei Zaharia > Assignee: Matei Zaharia > Priority: Blocker > Attachments: deadlock.png, mapreduce-1436-v2.patch, > mapreduce-1436.patch > > > In testing the fair scheduler with preemption, I found a deadlock between > updatePreemptionVariables and some code in the JobTracker. This was found > while testing a backport of the fair scheduler to Hadoop 0.20, but it looks > like it could also happen in trunk and 0.21. Details are in a comment below. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.