[ 
https://issues.apache.org/jira/browse/YARN-744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13709064#comment-13709064
 ] 

Omkar Vinit Joshi commented on YARN-744:
----------------------------------------

bq. BTW, is it convenient to write a test case for concurrent allocation? Like 
TestClientRMService#testConcurrentAppSubmit.
yeah wrote one...

bq. The passed in appAttemptId for an app currently seems to be the same 
object, such that it can be used to for synchronized blocks, but I agree with 
the idea of wrapper, because it is more predictable and stand-alone in 
ApplicationMasterService.
locking on appAttemptId in case of allocate / RegisterApplicationMaster call 
won't work. They are coming from client...can't guarantee that they are 
identical in terms grabbing a lock.. thoughts? 
                
> Race condition in ApplicationMasterService.allocate .. It might process same 
> allocate request twice resulting in additional containers getting allocated.
> ---------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-744
>                 URL: https://issues.apache.org/jira/browse/YARN-744
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: resourcemanager
>            Reporter: Bikas Saha
>            Assignee: Omkar Vinit Joshi
>         Attachments: MAPREDUCE-3899-branch-0.23.patch, 
> YARN-744-20130711.1.patch, YARN-744.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
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to