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