[ https://issues.apache.org/jira/browse/YARN-2975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14252195#comment-14252195 ]
Karthik Kambatla commented on YARN-2975: ---------------------------------------- bq. The removeApp from one operation is now 2 steps. removeApp did not expose the two operations outside, but had them. IIUC, an app can only go from non-runnable to runnable, but not vice-versa. For instance, see the following snippet in FairScheduler#executeMove. So, don't think we need to worry about consistency. {code} if (wasRunnable && !nowRunnable) { throw new IllegalStateException("Should have already verified that app " + attempt.getApplicationId() + " would be runnable in new queue"); } {code} {quote} Nit: suggest resetPreemptedResources -> resetPreemptedResourcesRunnableApps clearPreemptedResources -> clear PreemptedResourcesRunnableApps {quote} I thought of this, but decided against it. The additional RunnableApps doesn't add anything but extra characters. > FSLeafQueue app lists are accessed without required locks > --------------------------------------------------------- > > Key: YARN-2975 > URL: https://issues.apache.org/jira/browse/YARN-2975 > Project: Hadoop YARN > Issue Type: Bug > Affects Versions: 2.6.0 > Reporter: Karthik Kambatla > Assignee: Karthik Kambatla > Priority: Blocker > Attachments: yarn-2975-1.patch > > > YARN-2910 adds explicit locked access to runnable and non-runnable apps in > FSLeafQueue. As FSLeafQueue has getters for these, they can be accessed > without locks in other places. -- This message was sent by Atlassian JIRA (v6.3.4#6332)