|
@@ -738,13 +738,9 @@ public class ClientRMService extends AbstractService implements
|
|
|
RMApp application = appsIter.next();
|
|
|
|
|
|
// Check if current application falls under the specified scope
|
|
|
- boolean allowAccess = checkAccess(callerUGI, application.getUser(),
|
|
|
- ApplicationAccessType.VIEW_APP, application);
|
|
|
if (scope == ApplicationsRequestScope.OWN &&
|
|
|
!callerUGI.getUserName().equals(application.getUser())) {
|
|
|
continue;
|
|
|
- } else if (scope == ApplicationsRequestScope.VIEWABLE && !allowAccess) {
|
|
|
- continue;
|
|
|
}
|
|
|
|
|
|
if (applicationTypes != null && !applicationTypes.isEmpty()) {
|
|
@@ -793,6 +789,13 @@ public class ClientRMService extends AbstractService implements
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // checkAccess can grab the scheduler lock so call it last
|
|
|
+ boolean allowAccess = checkAccess(callerUGI, application.getUser(),
|
|
|
+ ApplicationAccessType.VIEW_APP, application);
|
|
|
+ if (scope == ApplicationsRequestScope.VIEWABLE && !allowAccess) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
reports.add(application.createAndGetApplicationReport(
|
|
|
callerUGI.getUserName(), allowAccess));
|
|
|
}
|