YARN-2340. Fixed NPE when queue is stopped during RM restart. Contributed by Rohith Sharmaks

(cherry picked from commit 0d89859b51)

(cherry picked from commit 8b398a66ca)
(cherry picked from commit 37f1789f419fa741c2fbae9855549d405e856bff)
This commit is contained in:
Jian He 2014-12-22 21:53:22 -08:00 committed by Vinod Kumar Vavilapalli
parent 6dfdcf094d
commit 8cdcb792a1
3 changed files with 13 additions and 5 deletions

View File

@ -54,6 +54,9 @@ Release 2.6.1 - UNRELEASED
YARN-2952. Fixed incorrect version check in StateStore. (Rohith Sharmaks
via jianhe)
YARN-2340. Fixed NPE when queue is stopped during RM restart.
(Rohith Sharmaks via jianhe)
Release 2.6.0 - 2014-11-18
INCOMPATIBLE CHANGES

View File

@ -702,11 +702,14 @@ public class CapacityScheduler extends
try {
queue.submitApplication(applicationId, user, queueName);
} catch (AccessControlException ace) {
LOG.info("Failed to submit application " + applicationId + " to queue "
+ queueName + " from user " + user, ace);
this.rmContext.getDispatcher().getEventHandler()
.handle(new RMAppRejectedEvent(applicationId, ace.toString()));
return;
// Ignore the exception for recovered app as the app was previously accepted
if (!isAppRecovering) {
LOG.info("Failed to submit application " + applicationId + " to queue "
+ queueName + " from user " + user, ace);
this.rmContext.getDispatcher().getEventHandler()
.handle(new RMAppRejectedEvent(applicationId, ace.toString()));
return;
}
}
// update the metrics
queue.getMetrics().submitApp(user);

View File

@ -417,6 +417,8 @@ public class TestWorkPreservingRMRestart {
rm1.clearQueueMetrics(app1_2);
rm1.clearQueueMetrics(app2);
csConf.set("yarn.scheduler.capacity.root.Default.QueueB.state", "STOPPED");
// Re-start RM
rm2 = new MockRM(csConf, memStore);
rm2.start();