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

Tsuyoshi OZAWA commented on YARN-2945:
--------------------------------------

Thanks for your comment. It make sense to me, but it can be confusing for 
readers of the code. How about adding comments of the hack? In addition to 
that, periodic sort is also better approach - the semantics of FS preserved in 
during a period. It should be done on this JIRA?

> FSLeafQueue should hold lock before and after sorting runnableApps in 
> assignContainer
> -------------------------------------------------------------------------------------
>
>                 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
>
>
> 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)

Reply via email to