From e46142a8c22f65a56ce936b82956174026ffc6f8 Mon Sep 17 00:00:00 2001 From: Rohith Sharma K S Date: Wed, 3 Jan 2018 18:20:04 +0530 Subject: [PATCH] YARN-7692. Skip validating priority acls while recovering applications. Contributed by Sunil G. (cherry picked from commit c9bf813c9a6c018d14f2bef49ba086ec0e60c761) --- .../yarn/server/resourcemanager/RMAppManager.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 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/RMAppManager.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java index e365112b429..3b47db264ca 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/RMAppManager.java @@ -362,10 +362,16 @@ public class RMAppManager implements EventHandler, // Verify and get the update application priority and set back to // submissionContext UserGroupInformation userUgi = UserGroupInformation.createRemoteUser(user); - Priority appPriority = scheduler.checkAndGetApplicationPriority( - submissionContext.getPriority(), userUgi, submissionContext.getQueue(), - applicationId); - submissionContext.setPriority(appPriority); + + // Application priority needed to be validated only while submitting. During + // recovery, validated priority could be recovered from submission context. + if (!isRecovery) { + Priority appPriority = scheduler.checkAndGetApplicationPriority( + submissionContext.getPriority(), userUgi, + submissionContext.getQueue(), + applicationId); + submissionContext.setPriority(appPriority); + } // Since FairScheduler queue mapping is done inside scheduler, // if FairScheduler is used and the queue doesn't exist, we should not