YARN-8022. ResourceManager UI cluster/app/<app-id> page fails to render. Contributed by Tarun Parimi.
This commit is contained in:
parent
76be6cbf6c
commit
e6de10d0a6
@ -109,8 +109,7 @@ protected void render(Block html) {
|
||||
final GetApplicationReportRequest request =
|
||||
GetApplicationReportRequest.newInstance(appID);
|
||||
if (callerUGI == null) {
|
||||
appReport =
|
||||
appBaseProt.getApplicationReport(request).getApplicationReport();
|
||||
appReport = getApplicationReport(request);
|
||||
} else {
|
||||
appReport = callerUGI.doAs(
|
||||
new PrivilegedExceptionAction<ApplicationReport> () {
|
||||
@ -143,14 +142,19 @@ public ApplicationReport run() throws Exception {
|
||||
try {
|
||||
final GetApplicationAttemptsRequest request =
|
||||
GetApplicationAttemptsRequest.newInstance(appID);
|
||||
if (callerUGI == null) {
|
||||
attempts = getApplicationAttemptsReport(request);
|
||||
} else {
|
||||
attempts = callerUGI.doAs(
|
||||
new PrivilegedExceptionAction<Collection<
|
||||
ApplicationAttemptReport>>() {
|
||||
@Override
|
||||
public Collection<ApplicationAttemptReport> run() throws Exception {
|
||||
public Collection<ApplicationAttemptReport> run()
|
||||
throws Exception {
|
||||
return getApplicationAttemptsReport(request);
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String message =
|
||||
"Failed to read the attempts of the application " + appID + ".";
|
||||
@ -204,6 +208,25 @@ public Collection<ApplicationAttemptReport> run() throws Exception {
|
||||
String schedulerPath = WebAppUtils.getResolvedRMWebAppURLWithScheme(conf) +
|
||||
"/cluster/scheduler?openQueues=" + app.getQueue();
|
||||
|
||||
generateOverviewTable(app, schedulerPath, webUiType, appReport);
|
||||
|
||||
createApplicationMetricsTable(html);
|
||||
|
||||
html.__(InfoBlock.class);
|
||||
|
||||
generateApplicationTable(html, callerUGI, attempts);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate overview table for app web page.
|
||||
* @param app app info.
|
||||
* @param schedulerPath schedule path.
|
||||
* @param webUiType web ui type.
|
||||
* @param appReport app report.
|
||||
*/
|
||||
private void generateOverviewTable(AppInfo app, String schedulerPath,
|
||||
String webUiType, ApplicationReport appReport) {
|
||||
ResponseInfo overviewTable = info("Application Overview")
|
||||
.__("User:", schedulerPath, app.getUser())
|
||||
.__("Name:", app.getName())
|
||||
@ -265,37 +288,6 @@ public Collection<ApplicationAttemptReport> run() throws Exception {
|
||||
overviewTable.__("AM container Node Label expression:",
|
||||
app.getAmNodeLabelExpression() == null ? "<Not set>"
|
||||
: app.getAmNodeLabelExpression());
|
||||
|
||||
try {
|
||||
final GetApplicationAttemptsRequest request =
|
||||
GetApplicationAttemptsRequest.newInstance(appID);
|
||||
if (callerUGI == null) {
|
||||
attempts = appBaseProt.getApplicationAttempts(request)
|
||||
.getApplicationAttemptList();
|
||||
} else {
|
||||
attempts = callerUGI.doAs(
|
||||
new PrivilegedExceptionAction<Collection<ApplicationAttemptReport>> () {
|
||||
@Override
|
||||
public Collection<ApplicationAttemptReport> run() throws Exception {
|
||||
return appBaseProt.getApplicationAttempts(request)
|
||||
.getApplicationAttemptList();
|
||||
}
|
||||
});
|
||||
}
|
||||
} catch (Exception e) {
|
||||
String message =
|
||||
"Failed to read the attempts of the application " + appID + ".";
|
||||
LOG.error(message, e);
|
||||
html.p().__(message).__();
|
||||
return;
|
||||
}
|
||||
|
||||
createApplicationMetricsTable(html);
|
||||
|
||||
html.__(InfoBlock.class);
|
||||
|
||||
generateApplicationTable(html, callerUGI, attempts);
|
||||
|
||||
}
|
||||
|
||||
protected void generateApplicationTable(Block html,
|
||||
|
Loading…
Reference in New Issue
Block a user