diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerImpl.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerImpl.java index 803dc01..afb3b99 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerImpl.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerImpl.java @@ -135,7 +135,7 @@ public class ApplicationHistoryManagerImpl extends AbstractService implements } return ApplicationReport.newInstance(appHistory.getApplicationId(), currentApplicationAttemptId, appHistory.getUser(), appHistory.getQueue(), - appHistory.getApplicationName(), host, rpcPort, null, + appHistory.getApplicationName(), appHistory.getApplicationDescription(), host, rpcPort, null, appHistory.getYarnApplicationState(), appHistory.getDiagnosticsInfo(), trackingUrl, appHistory.getStartTime(), appHistory.getFinishTime(), appHistory.getFinalApplicationStatus(), null, "", 100, diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java index cd429d0..af44a05 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/ApplicationHistoryManagerOnTimelineStore.java @@ -214,6 +214,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService String user = null; String queue = null; String name = null; + String description = null; String type = null; long createdTime = 0; long finishedTime = 0; @@ -240,7 +241,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService if (field == ApplicationReportField.USER_AND_ACLS) { return new ApplicationReportExt(ApplicationReport.newInstance( ConverterUtils.toApplicationId(entity.getEntityId()), - latestApplicationAttemptId, user, queue, name, null, -1, null, state, + latestApplicationAttemptId, user, queue, name,description, null, -1, null, state, diagnosticsInfo, null, createdTime, finishedTime, finalStatus, null, null, 1.0F, type, null), appViewACLs); } @@ -308,7 +309,7 @@ public class ApplicationHistoryManagerOnTimelineStore extends AbstractService } return new ApplicationReportExt(ApplicationReport.newInstance( ConverterUtils.toApplicationId(entity.getEntityId()), - latestApplicationAttemptId, user, queue, name, null, -1, null, state, + latestApplicationAttemptId, user, queue, name,description, null, -1, null, state, diagnosticsInfo, null, createdTime, finishedTime, finalStatus, null, null, 1.0F, type, null), appViewACLs); } diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/FileSystemApplicationHistoryStore.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/FileSystemApplicationHistoryStore.java index 6d76864..33b8b86 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/FileSystemApplicationHistoryStore.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/FileSystemApplicationHistoryStore.java @@ -158,7 +158,7 @@ public class FileSystemApplicationHistoryStore extends AbstractService boolean readStartData = false; boolean readFinishData = false; ApplicationHistoryData historyData = - ApplicationHistoryData.newInstance(appId, null, null, null, null, + ApplicationHistoryData.newInstance(appId, null, null, null,null, null, Long.MIN_VALUE, Long.MIN_VALUE, Long.MAX_VALUE, null, FinalApplicationStatus.UNDEFINED, null); while ((!readStartData || !readFinishData) && hfReader.hasNext()) { diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java index c226ad3..01d5ea1 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/MemoryApplicationHistoryStore.java @@ -140,7 +140,7 @@ public class MemoryApplicationHistoryStore extends AbstractService implements ApplicationHistoryData oldData = applicationData.putIfAbsent(appStart.getApplicationId(), ApplicationHistoryData.newInstance(appStart.getApplicationId(), - appStart.getApplicationName(), appStart.getApplicationType(), + appStart.getApplicationName(),appStart.getApplicationDescription(), appStart.getApplicationType(), appStart.getQueue(), appStart.getUser(), appStart.getSubmitTime(), appStart.getStartTime(), Long.MAX_VALUE, null, null, null)); if (oldData != null) { diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java index b7d16f3..52cf426 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationHistoryData.java @@ -35,6 +35,8 @@ public class ApplicationHistoryData { private ApplicationId applicationId; private String applicationName; + + private String applicationDescription; private String applicationType; @@ -57,13 +59,14 @@ public class ApplicationHistoryData { @Public @Unstable public static ApplicationHistoryData newInstance(ApplicationId applicationId, - String applicationName, String applicationType, String queue, + String applicationName, String applicationDescription,String applicationType, String queue, String user, long submitTime, long startTime, long finishTime, String diagnosticsInfo, FinalApplicationStatus finalApplicationStatus, YarnApplicationState yarnApplicationState) { ApplicationHistoryData appHD = new ApplicationHistoryData(); appHD.setApplicationId(applicationId); appHD.setApplicationName(applicationName); + appHD.setApplicationDescription(applicationDescription); appHD.setApplicationType(applicationType); appHD.setQueue(queue); appHD.setUser(user); @@ -102,6 +105,18 @@ public class ApplicationHistoryData { @Public @Unstable + public String getApplicationDescription() { + return applicationDescription; + } + + @Public + @Unstable + public void setApplicationDescription(String applicationDescription) { + this.applicationDescription = applicationDescription; + } + + @Public + @Unstable public String getApplicationType() { return applicationType; } diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationStartData.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationStartData.java index 6bc1323..df08214 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationStartData.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/ApplicationStartData.java @@ -34,11 +34,12 @@ public abstract class ApplicationStartData { @Public @Unstable public static ApplicationStartData newInstance(ApplicationId applicationId, - String applicationName, String applicationType, String queue, + String applicationName, String applicationDescription,String applicationType, String queue, String user, long submitTime, long startTime) { ApplicationStartData appSD = Records.newRecord(ApplicationStartData.class); appSD.setApplicationId(applicationId); appSD.setApplicationName(applicationName); + appSD.setApplicationDescription(applicationDescription); appSD.setApplicationType(applicationType); appSD.setQueue(queue); appSD.setUser(user); @@ -62,9 +63,16 @@ public abstract class ApplicationStartData { @Public @Unstable public abstract void setApplicationName(String applicationName); + + @Public + @Unstable + public abstract String getApplicationDescription(); @Public @Unstable + public abstract void setApplicationDescription(String applicationDescription); + @Public + @Unstable public abstract String getApplicationType(); @Public diff --git a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationStartDataPBImpl.java b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationStartDataPBImpl.java index 56f7aff..40cc239 100644 --- a/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationStartDataPBImpl.java +++ b/src/main/java/org/apache/hadoop/yarn/server/applicationhistoryservice/records/impl/pb/ApplicationStartDataPBImpl.java @@ -18,6 +18,8 @@ package org.apache.hadoop.yarn.server.applicationhistoryservice.records.impl.pb; +import org.apache.hadoop.classification.InterfaceAudience.Public; +import org.apache.hadoop.classification.InterfaceStability.Unstable; import org.apache.hadoop.yarn.api.records.ApplicationId; import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationIdPBImpl; import org.apache.hadoop.yarn.proto.ApplicationHistoryServerProtos.ApplicationStartDataProto; @@ -87,6 +89,30 @@ public class ApplicationStartDataPBImpl extends ApplicationStartData { } @Override + @Public + @Unstable + public String getApplicationDescription() { + // TODO Auto-generated method stub + ApplicationStartDataProtoOrBuilder p = viaProto ? proto : builder; + if (!p.hasApplicationDescription()) { + return null; + } + return p.getApplicationDescription(); + } + + @Override + @Public + @Unstable + public void setApplicationDescription(String applicationDescription) { + // TODO Auto-generated method stub + maybeInitBuilder(); + if (applicationDescription == null) { + builder.clearApplicationDescription(); + return; + } + builder.setApplicationDescription(applicationDescription); + } + @Override public String getApplicationType() { ApplicationStartDataProtoOrBuilder p = viaProto ? proto : builder; if (!p.hasApplicationType()) {