YARN-3110. Few issues in ApplicationHistory web ui. Contributed by Naganarasimha G R

This commit is contained in:
Xuan 2015-04-07 08:22:39 -07:00
parent ce63573314
commit 19a4feaf6f
3 changed files with 14 additions and 9 deletions

View File

@ -148,6 +148,8 @@ Release 2.8.0 - UNRELEASED
YARN-2429. TestAMRMTokens.testTokenExpiry fails Intermittently with YARN-2429. TestAMRMTokens.testTokenExpiry fails Intermittently with
error message:Invalid AMRMToken (zxu via rkanter) error message:Invalid AMRMToken (zxu via rkanter)
YARN-3110. Few issues in ApplicationHistory web ui. (Naganarasimha G R via xgong)
Release 2.7.0 - UNRELEASED Release 2.7.0 - UNRELEASED
INCOMPATIBLE CHANGES INCOMPATIBLE CHANGES

View File

@ -219,10 +219,11 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService
String type = null; String type = null;
long createdTime = 0; long createdTime = 0;
long finishedTime = 0; long finishedTime = 0;
float progress = 0.0f;
ApplicationAttemptId latestApplicationAttemptId = null; ApplicationAttemptId latestApplicationAttemptId = null;
String diagnosticsInfo = null; String diagnosticsInfo = null;
FinalApplicationStatus finalStatus = FinalApplicationStatus.UNDEFINED; FinalApplicationStatus finalStatus = FinalApplicationStatus.UNDEFINED;
YarnApplicationState state = null; YarnApplicationState state = YarnApplicationState.ACCEPTED;
ApplicationResourceUsageReport appResources = null; ApplicationResourceUsageReport appResources = null;
Map<ApplicationAccessType, String> appViewACLs = Map<ApplicationAccessType, String> appViewACLs =
new HashMap<ApplicationAccessType, String>(); new HashMap<ApplicationAccessType, String>();
@ -245,7 +246,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService
ConverterUtils.toApplicationId(entity.getEntityId()), ConverterUtils.toApplicationId(entity.getEntityId()),
latestApplicationAttemptId, user, queue, name, null, -1, null, state, latestApplicationAttemptId, user, queue, name, null, -1, null, state,
diagnosticsInfo, null, createdTime, finishedTime, finalStatus, null, diagnosticsInfo, null, createdTime, finishedTime, finalStatus, null,
null, 1.0F, type, null), appViewACLs); null, progress, type, null), appViewACLs);
} }
if (entityInfo.containsKey(ApplicationMetricsConstants.QUEUE_ENTITY_INFO)) { if (entityInfo.containsKey(ApplicationMetricsConstants.QUEUE_ENTITY_INFO)) {
queue = queue =
@ -279,6 +280,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService
createdTime = event.getTimestamp(); createdTime = event.getTimestamp();
} else if (event.getEventType().equals( } else if (event.getEventType().equals(
ApplicationMetricsConstants.FINISHED_EVENT_TYPE)) { ApplicationMetricsConstants.FINISHED_EVENT_TYPE)) {
progress=1.0F;
finishedTime = event.getTimestamp(); finishedTime = event.getTimestamp();
Map<String, Object> eventInfo = event.getEventInfo(); Map<String, Object> eventInfo = event.getEventInfo();
if (eventInfo == null) { if (eventInfo == null) {
@ -321,7 +323,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService
ConverterUtils.toApplicationId(entity.getEntityId()), ConverterUtils.toApplicationId(entity.getEntityId()),
latestApplicationAttemptId, user, queue, name, null, -1, null, state, latestApplicationAttemptId, user, queue, name, null, -1, null, state,
diagnosticsInfo, null, createdTime, finishedTime, finalStatus, appResources, diagnosticsInfo, null, createdTime, finishedTime, finalStatus, appResources,
null, 1.0F, type, null), appViewACLs); null, progress, type, null), appViewACLs);
} }
private static ApplicationAttemptReport convertToApplicationAttemptReport( private static ApplicationAttemptReport convertToApplicationAttemptReport(

View File

@ -194,17 +194,18 @@ public class AppAttemptBlock extends HtmlBlock {
protected void generateOverview(ApplicationAttemptReport appAttemptReport, protected void generateOverview(ApplicationAttemptReport appAttemptReport,
Collection<ContainerReport> containers, AppAttemptInfo appAttempt, Collection<ContainerReport> containers, AppAttemptInfo appAttempt,
String node) { String node) {
String amContainerId = appAttempt.getAmContainerId();
info("Application Attempt Overview") info("Application Attempt Overview")
._( ._(
"Application Attempt State:", "Application Attempt State:",
appAttempt.getAppAttemptState() == null ? UNAVAILABLE : appAttempt appAttempt.getAppAttemptState() == null ? UNAVAILABLE : appAttempt
.getAppAttemptState()) .getAppAttemptState())
._( ._("AM Container:",
"AM Container:", amContainerId == null
appAttempt.getAmContainerId() == null || containers == null || containers == null
|| !hasAMContainer(appAttemptReport.getAMContainerId(), containers) || !hasAMContainer(appAttemptReport.getAMContainerId(),
? null : root_url("container", appAttempt.getAmContainerId()), containers) ? null : root_url("container", amContainerId),
String.valueOf(appAttempt.getAmContainerId())) amContainerId == null ? "N/A" : amContainerId)
._("Node:", node) ._("Node:", node)
._( ._(
"Tracking URL:", "Tracking URL:",