YARN-400. RM can return null application resource usage report leading to NPE in client (Jason Lowe via tgraves)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1448241 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
c8f35bc3d2
commit
efaaf58605
|
@ -331,6 +331,9 @@ Release 0.23.7 - UNRELEASED
|
|||
YARN-362. Unexpected extra results when using webUI table search (Ravi
|
||||
Prakash via jlowe)
|
||||
|
||||
YARN-400. RM can return null application resource usage report leading to
|
||||
NPE in client (Jason Lowe via tgraves)
|
||||
|
||||
Release 0.23.6 - UNRELEASED
|
||||
|
||||
INCOMPATIBLE CHANGES
|
||||
|
|
|
@ -406,7 +406,8 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|||
String host = UNAVAILABLE;
|
||||
String origTrackingUrl = UNAVAILABLE;
|
||||
int rpcPort = -1;
|
||||
ApplicationResourceUsageReport appUsageReport = null;
|
||||
ApplicationResourceUsageReport appUsageReport =
|
||||
DUMMY_APPLICATION_RESOURCE_USAGE_REPORT;
|
||||
FinalApplicationStatus finishState = getFinalApplicationStatus();
|
||||
String diags = UNAVAILABLE;
|
||||
if (allowAccess) {
|
||||
|
@ -418,18 +419,17 @@ public class RMAppImpl implements RMApp, Recoverable {
|
|||
host = this.currentAttempt.getHost();
|
||||
rpcPort = this.currentAttempt.getRpcPort();
|
||||
appUsageReport = currentAttempt.getApplicationResourceUsageReport();
|
||||
} else {
|
||||
currentApplicationAttemptId =
|
||||
BuilderUtils.newApplicationAttemptId(this.applicationId,
|
||||
DUMMY_APPLICATION_ATTEMPT_NUMBER);
|
||||
}
|
||||
|
||||
diags = this.diagnostics.toString();
|
||||
} else {
|
||||
appUsageReport = DUMMY_APPLICATION_RESOURCE_USAGE_REPORT;
|
||||
}
|
||||
|
||||
if (currentApplicationAttemptId == null) {
|
||||
currentApplicationAttemptId =
|
||||
BuilderUtils.newApplicationAttemptId(this.applicationId,
|
||||
DUMMY_APPLICATION_ATTEMPT_NUMBER);
|
||||
}
|
||||
|
||||
return BuilderUtils.newApplicationReport(this.applicationId,
|
||||
currentApplicationAttemptId, this.user, this.queue,
|
||||
this.name, host, rpcPort, clientToken,
|
||||
|
|
|
@ -29,6 +29,7 @@ import org.apache.commons.logging.LogFactory;
|
|||
import org.apache.hadoop.conf.Configuration;
|
||||
import org.apache.hadoop.yarn.MockApps;
|
||||
import org.apache.hadoop.yarn.api.records.ApplicationId;
|
||||
import org.apache.hadoop.yarn.api.records.ApplicationReport;
|
||||
import org.apache.hadoop.yarn.api.records.ApplicationSubmissionContext;
|
||||
import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
|
||||
import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationSubmissionContextPBImpl;
|
||||
|
@ -616,4 +617,12 @@ public class TestRMAppTransitions {
|
|||
assertTimesAtFinish(application);
|
||||
assertAppState(RMAppState.KILLED, application);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testGetAppReport() {
|
||||
RMApp app = createNewTestApp(null);
|
||||
assertAppState(RMAppState.NEW, app);
|
||||
ApplicationReport report = app.createAndGetApplicationReport(true);
|
||||
Assert.assertNotNull(report.getApplicationResourceUsageReport());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue