YARN-1556. NPE getting application report with a null appId. Contributed by Weiwei Yang.

This commit is contained in:
Junping Du 2015-08-28 05:57:34 -07:00
parent e166c038c0
commit beb65c9465
3 changed files with 20 additions and 2 deletions

View File

@ -413,12 +413,15 @@ Release 2.8.0 - UNRELEASED
YARN-4026. Refactored ContainerAllocator to accept a list of priorites
rather than a single priority. (Wangda Tan via jianhe)
YARN-4031. Add JvmPauseMonitor to ApplicationHistoryServer and
WebAppProxyServer (djp via rkanter)
YARN-4031. Add JvmPauseMonitor to ApplicationHistoryServer and
WebAppProxyServer (djp via rkanter)
YARN-4057. If ContainersMonitor is not enabled, only print
related log info one time. (Jun Gong via zxu)
YARN-1556. NPE getting application report with a null appId. (Weiwei Yang via
junping_du)
OPTIMIZATIONS
YARN-3339. TestDockerContainerExecutor should pull a single image and not

View File

@ -315,6 +315,9 @@ public class ClientRMService extends AbstractService implements
public GetApplicationReportResponse getApplicationReport(
GetApplicationReportRequest request) throws YarnException {
ApplicationId applicationId = request.getApplicationId();
if (applicationId == null) {
throw new ApplicationNotFoundException("Invalid application id: null");
}
UserGroupInformation callerUGI;
try {

View File

@ -333,6 +333,18 @@ public class TestClientRMService {
report.getApplicationResourceUsageReport();
Assert.assertEquals(10, usageReport.getMemorySeconds());
Assert.assertEquals(3, usageReport.getVcoreSeconds());
// if application id is null
GetApplicationReportRequest invalidRequest = recordFactory
.newRecordInstance(GetApplicationReportRequest.class);
invalidRequest.setApplicationId(null);
try {
rmService.getApplicationReport(invalidRequest);
} catch (YarnException e) {
// rmService should return a ApplicationNotFoundException
// when a null application id is provided
Assert.assertTrue(e instanceof ApplicationNotFoundException);
}
} finally {
rmService.close();
}