YARN-4424. Fix deadlock in RMAppImpl. (Jian he via wangda)

(cherry picked from commit 7e4715186d)

Conflicts:
	hadoop-yarn-project/CHANGES.txt
This commit is contained in:
Wangda Tan 2015-12-08 14:25:16 -08:00
parent 417fbf2dca
commit 7013f9d6cd
2 changed files with 10 additions and 14 deletions

View File

@ -1983,6 +1983,8 @@ Release 2.6.3 - UNRELEASED
YARN-4365. FileSystemNodeLabelStore should check for root dir existence on
startup (Kuhu Shukla via jlowe)
YARN-4424. Fix deadlock in RMAppImpl. (Jian he via wangda)
Release 2.6.2 - 2015-10-28
INCOMPATIBLE CHANGES

View File

@ -490,21 +490,15 @@ public class RMAppImpl implements RMApp, Recoverable {
@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