[
https://issues.apache.org/jira/browse/YARN-184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13496873#comment-13496873
]
Alejandro Abdelnur commented on YARN-184:
-----------------------------------------
*FairScheduler.java*
* The UpdateThread should be set as a daemon thread.
*QueueManager.java*
* At the end of the reloadAllocs() method a synchronized block on THIS
reassigns all resources info/apps/weights/modes/.. values. But the getter
methods of those values are not synchronized, ie getUserMaxApp() which could
lead to an inconsistent result. A solution would be to have a struct that
defines all the instance Maps, make that volatile, assign it atomically and on
the getter methods assign it to a local var and then access all its values from
the local var (if a reassign happens half way you still have a consistent view
of all values you use)
> Remove unnecessary locking in fair scheduler, and address findbugs excludes.
> ----------------------------------------------------------------------------
>
> Key: YARN-184
> URL: https://issues.apache.org/jira/browse/YARN-184
> Project: Hadoop YARN
> Issue Type: Improvement
> Affects Versions: 2.0.2-alpha
> Reporter: Sandy Ryza
> Assignee: Sandy Ryza
> Attachments: YARN-184-1.patch, YARN-184.patch
>
>
> In YARN-12, locks were added to all fields of QueueManager to address
> findbugs. In addition, findbugs exclusions were added in response to
> MAPREDUCE-4439, without a deep look at the code.
--
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