From 8ffe1f313c9719ea550ac524fee84320c4aff63c Mon Sep 17 00:00:00 2001 From: Szilard Nemeth Date: Wed, 29 Apr 2020 15:53:30 +0200 Subject: [PATCH] YARN-10247. Application priority queue ACLs are not respected. Contributed by Sunil G (cherry picked from commit 410c605aec308a2ccd903f60aade3aaeefcaa610) --- .../scheduler/capacity/CapacityScheduler.java | 6 +++--- .../scheduler/capacity/TestApplicationPriorityACLs.java | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java index 861dc432a8..cca4fe1872 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/CapacityScheduler.java @@ -2686,10 +2686,10 @@ public Priority checkAndGetApplicationPriority( } // Lets check for ACLs here. - if (!appPriorityACLManager.checkAccess(user, queuePath, appPriority)) { + if (!appPriorityACLManager.checkAccess(user, normalizeQueueName(queuePath), appPriority)) { throw new YarnException(new AccessControlException( - "User " + user + " does not have permission to submit/update " - + applicationId + " for " + appPriority)); + "User " + user + " does not have permission to submit/update " + + applicationId + " for " + appPriority)); } LOG.info("Priority '" + appPriority.getPriority() diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationPriorityACLs.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationPriorityACLs.java index b41ba83679..cf9a01045b 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationPriorityACLs.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/scheduler/capacity/TestApplicationPriorityACLs.java @@ -143,6 +143,7 @@ private void submitAppToRMWithInValidAcl(String submitter, .newInstance(appSubmissionContext); try { submitterClient.submitApplication(submitRequest); + Assert.fail(); } catch (YarnException ex) { Assert.assertTrue(ex.getCause() instanceof RemoteException); }