You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Karthik Kambatla (JIRA)" <ji...@apache.org> on 2014/12/17 21:03:15 UTC
[jira] [Updated] (YARN-2945) FSLeafQueue#assignContainer - document
the reason for using both write and read locks
[ https://issues.apache.org/jira/browse/YARN-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Karthik Kambatla updated YARN-2945:
-----------------------------------
Summary: FSLeafQueue#assignContainer - document the reason for using both write and read locks (was: FSLeafQueue should hold lock before and after sorting runnableApps in assignContainer)
> FSLeafQueue#assignContainer - document the reason for using both write and read locks
> -------------------------------------------------------------------------------------
>
> Key: YARN-2945
> URL: https://issues.apache.org/jira/browse/YARN-2945
> Project: Hadoop YARN
> Issue Type: Bug
> Reporter: Tsuyoshi OZAWA
> Assignee: Tsuyoshi OZAWA
> Attachments: YARN-2945.001.patch, YARN-2945.002.patch
>
>
> After YARN-2910, assignContainer hold WriteLock while sorting and ReadLock while referencing runnableApps. This can cause interrupted assignment of containers regardless of the policy.
> {code}
> writeLock.lock();
> try {
> Collections.sort(runnableApps, comparator);
> } finally {
> writeLock.unlock();
> }
> readLock.lock();
> try {
> for (FSAppAttempt sched : runnableApps) {
> if (SchedulerAppUtils.isBlacklisted(sched, node, LOG)) {
> continue;
> }
> assigned = sched.assignContainer(node);
> if (!assigned.equals(Resources.none())) {
> break;
> }
> }
> } finally {
> readLock.unlock();
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)