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