You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Jason Lowe (Updated) (JIRA)" <ji...@apache.org> on 2012/04/13 02:39:17 UTC

[jira] [Updated] (MAPREDUCE-4139) Potential ResourceManager deadlock when SchedulerEventDispatcher is stopped

     [ https://issues.apache.org/jira/browse/MAPREDUCE-4139?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jason Lowe updated MAPREDUCE-4139:
----------------------------------

    Attachment: MAPREDUCE-4139.patch

Patch to cache config's exit on error value upon startup so we can avoid the getConfig() call when fielding errors in the handling thread.

Also changed the handling thread so an InterruptedException from a handler is treated the same as an interrupted wait on the queue.  Since the handler thread interrupt is asynchronous, it seemed odd to treat it differently based on whether we were within a handler method.
                
> Potential ResourceManager deadlock when SchedulerEventDispatcher is stopped
> ---------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4139
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4139
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2
>    Affects Versions: 0.23.3
>            Reporter: Jason Lowe
>            Assignee: Jason Lowe
>         Attachments: MAPREDUCE-4139.patch
>
>
> When the main thread calls ResourceManager$SchedulerEventDispatcher.stop() it grabs a lock on the object, kicks the event processor thread, and then waits for the thread to exit.  However the interrupted event processor thread can end up trying to call the synchronized getConfig() method which results in deadlock.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira