From 3456970e3d0fa8368bc1a7115a605f10cf684966 Mon Sep 17 00:00:00 2001 From: Prabhu Joseph Date: Fri, 18 Jan 2019 13:44:07 +0530 Subject: [PATCH] YARN-8625 --- .../webapp/TestAHSWebServices.java | 5 +++++ .../apache/hadoop/yarn/server/webapp/dao/AppInfo.java | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebServices.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebServices.java index e72714b..e458d81 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebServices.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-applicationhistoryservice/src/test/java/org/apache/hadoop/yarn/server/applicationhistoryservice/webapp/TestAHSWebServices.java @@ -21,6 +21,7 @@ import static org.apache.hadoop.yarn.webapp.WebServicesTestUtils.assertResponseStatusCode; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; +import static org.junit.Assert.assertNotNull; import static org.junit.Assert.fail; import java.net.HttpURLConnection; @@ -413,6 +414,10 @@ public void testSingleApp() throws Exception { assertEquals(FinalApplicationStatus.UNDEFINED.toString(), app.get("finalAppStatus")); assertEquals(YarnApplicationState.FINISHED.toString(), app.get("appState")); + assertNotNull("Aggregate resource allocation is null", + app.get("aggregateResourceAllocation")); + assertNotNull("Aggregate Preempted Resource Allocation is null", + app.get("aggregatePreemptedResourceAllocation")); } @Test diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/dao/AppInfo.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/dao/AppInfo.java index b4687a4..0ae0368 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/dao/AppInfo.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-common/src/main/java/org/apache/hadoop/yarn/server/webapp/dao/AppInfo.java @@ -31,6 +31,7 @@ import org.apache.hadoop.yarn.api.records.FinalApplicationStatus; import org.apache.hadoop.yarn.api.records.YarnApplicationState; import org.apache.hadoop.yarn.util.Times; +import org.apache.hadoop.yarn.util.StringHelper; @Public @Evolving @@ -67,6 +68,8 @@ protected boolean unmanagedApplication; private String appNodeLabelExpression; private String amNodeLabelExpression; + private String aggregateResourceAllocation; + private String aggregatePreemptedResourceAllocation; public AppInfo() { // JAXB needs this @@ -110,6 +113,11 @@ public AppInfo(ApplicationReport app) { reservedMemoryMB = app.getApplicationResourceUsageReport() .getReservedResources().getMemorySize(); } + aggregateResourceAllocation = StringHelper.getResourceSecondsString( + app.getApplicationResourceUsageReport().getResourceSecondsMap()); + aggregatePreemptedResourceAllocation = StringHelper + .getResourceSecondsString(app.getApplicationResourceUsageReport() + .getPreemptedResourceSecondsMap()); } progress = app.getProgress() * 100; // in percent if (app.getApplicationTags() != null && !app.getApplicationTags().isEmpty()) { @@ -235,4 +243,12 @@ public String getAppNodeLabelExpression() { public String getAmNodeLabelExpression() { return amNodeLabelExpression; } + + public String getAggregateResourceAllocation() { + return aggregateResourceAllocation; + } + + public String getAggregatePreemptedResourceAllocation() { + return aggregatePreemptedResourceAllocation; + } } -- 2.7.4 (Apple Git-66)