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

Wangda Tan commented on YARN-2925:
----------------------------------

Hi Craig,
It is what I anticipated when reviewing of the code.
When LeafQueue compute user-limit, it uses fields like usedResource. The 
resource update may use Resources.addTo(..), it is not a atomic operation, so 
the field being used by LeafQueue might be corrupted since it is possible 
writing by another thread.

> Internal fields in LeafQueue access should be protected when accessed from 
> FiCaSchedulerApp to calculate Headroom
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-2925
>                 URL: https://issues.apache.org/jira/browse/YARN-2925
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacityscheduler
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>            Priority: Critical
>
> Upon YARN-2644, FiCaScheduler will calculation up-to-date headroom before 
> sending back Allocation response to AM.
> Headroom calculation is happened in LeafQueue side, uses fields like used 
> resource, etc. But it is not protected by any lock of LeafQueue, so it might 
> be corrupted is someone else is editing it.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to