diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java index 9220849..bd8f421 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/rmapp/RMAppImpl.java @@ -493,21 +493,15 @@ public ApplicationSubmissionContext getApplicationSubmissionContext() { @Override public FinalApplicationStatus getFinalApplicationStatus() { - this.readLock.lock(); - try { - // finish state is obtained based on the state machine's current state - // as a fall-back in case the application has not been unregistered - // ( or if the app never unregistered itself ) - // when the report is requested - if (currentAttempt != null - && currentAttempt.getFinalApplicationStatus() != null) { - return currentAttempt.getFinalApplicationStatus(); - } - return - createFinalApplicationStatus(this.stateMachine.getCurrentState()); - } finally { - this.readLock.unlock(); + // finish state is obtained based on the state machine's current state + // as a fall-back in case the application has not been unregistered + // ( or if the app never unregistered itself ) + // when the report is requested + if (currentAttempt != null + && currentAttempt.getFinalApplicationStatus() != null) { + return currentAttempt.getFinalApplicationStatus(); } + return createFinalApplicationStatus(this.stateMachine.getCurrentState()); } @Override