-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.6.0
-
Fix Version/s: 2.7.0, 2.6.1, 3.0.0-alpha1
-
Component/s: resourcemanager
-
Labels:
-
Target Version/s:
-
Hadoop Flags:Reviewed
Binding aclManager to RMWebApp would cause problem if RM is switched. There could be some validation check may fail.
I think , we should not bind aclManager for RMWebApp, instead we should get from RM instance.
In RMWebApp,
if (rm != null) { bind(ResourceManager.class).toInstance(rm); bind(RMContext.class).toInstance(rm.getRMContext()); bind(ApplicationACLsManager.class).toInstance( rm.getApplicationACLsManager()); bind(QueueACLsManager.class).toInstance(rm.getQueueACLsManager()); }
and in AppBlock#render below check may fail(Need to test and confirm)
if (callerUGI != null && !(this.aclsManager.checkAccess(callerUGI, ApplicationAccessType.VIEW_APP, app.getUser(), appID) || this.queueACLsManager.checkAccess(callerUGI, QueueACL.ADMINISTER_QUEUE, app.getQueue()))) { puts("You (User " + remoteUser + ") are not authorized to view application " + appID); return; }