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 "Bikas Saha (Updated) (JIRA)" <ji...@apache.org> on 2012/02/24 02:45:49 UTC

[jira] [Updated] (MAPREDUCE-3899) Locking not correct in org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService.allocate(AllocateRequest request)

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

Bikas Saha updated MAPREDUCE-3899:
----------------------------------

    Attachment: MAPREDUCE-3899-branch-0.23.patch

1) removed the lock as its not needed
2) added comments for when it might be needed
3) refactored appAttemptId -> applicationAttemptId to make it consistent across the file
4) added a couple of logs to make it consistent across the processing
5) a few Eclipse code style changes
                
> Locking not correct in org.apache.hadoop.yarn.server.resourcemanager.ApplicationMasterService.allocate(AllocateRequest request)
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-3899
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-3899
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2, resourcemanager
>    Affects Versions: 0.23.0
>            Reporter: Bikas Saha
>            Assignee: Bikas Saha
>             Fix For: 0.23.0
>
>         Attachments: MAPREDUCE-3899-branch-0.23.patch
>
>
> Looks like the lock taken in this is broken. It takes a lock on lastResponse object and then puts a new lastResponse object into the map. At this point a new thread entering this function will get a new lastResponse object and will be able to take its lock and enter the critical section. Presumably we want to limit one response per app attempt. So the lock could be taken on the ApplicationAttemptId key of the response map object.

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