You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ep...@apache.org on 2019/06/04 19:39:33 UTC

[hadoop] branch branch-2.8 updated: YARN-8625. Aggregate Resource Allocation for each job is not present in ATS. Contributed by Prabhu Joseph.

This is an automated email from the ASF dual-hosted git repository.

epayne pushed a commit to branch branch-2.8
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/branch-2.8 by this push:
     new 8756254  YARN-8625. Aggregate Resource Allocation for each job is not present in ATS. Contributed by  Prabhu Joseph.
8756254 is described below

commit 8756254c6deaaa38f85c8ad354ad045a4d4ed0b1
Author: Eric E Payne <er...@verizonmedia.com>
AuthorDate: Tue Jun 4 19:38:14 2019 +0000

    YARN-8625. Aggregate Resource Allocation for each job is not present in ATS. Contributed by  Prabhu Joseph.
---
 .../webapp/TestAHSWebServices.java                 |  5 ++++
 .../hadoop/yarn/server/webapp/dao/AppInfo.java     | 33 ++++++++++++++++------
 2 files changed, 30 insertions(+), 8 deletions(-)

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 c246a42..2a1bda1 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
@@ -19,6 +19,7 @@
 package org.apache.hadoop.yarn.server.applicationhistoryservice.webapp;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
 import java.util.Arrays;
@@ -352,6 +353,10 @@ public class TestAHSWebServices extends JerseyTestBase {
     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 5eb5bcd..db34b9e 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
@@ -28,6 +28,7 @@ import org.apache.hadoop.classification.InterfaceAudience.Public;
 import org.apache.hadoop.classification.InterfaceStability.Evolving;
 
 import org.apache.hadoop.yarn.api.records.ApplicationReport;
+import org.apache.hadoop.yarn.api.records.ApplicationResourceUsageReport;
 import org.apache.hadoop.yarn.api.records.FinalApplicationStatus;
 import org.apache.hadoop.yarn.api.records.YarnApplicationState;
 import org.apache.hadoop.yarn.util.Times;
@@ -64,6 +65,8 @@ public class AppInfo {
   protected boolean unmanagedApplication;
   private String appNodeLabelExpression;
   private String amNodeLabelExpression;
+  private String aggregateResourceAllocation;
+  private String aggregatePreemptedResourceAllocation;
 
   public AppInfo() {
     // JAXB needs this
@@ -93,15 +96,21 @@ public class AppInfo {
     if (app.getPriority() != null) {
       priority = app.getPriority().getPriority();
     }
-    if (app.getApplicationResourceUsageReport() != null) {
-      runningContainers = app.getApplicationResourceUsageReport()
-          .getNumUsedContainers();
-      if (app.getApplicationResourceUsageReport().getUsedResources() != null) {
-        allocatedCpuVcores = app.getApplicationResourceUsageReport()
-            .getUsedResources().getVirtualCores();
-        allocatedMemoryMB = app.getApplicationResourceUsageReport()
-            .getUsedResources().getMemorySize();
+    ApplicationResourceUsageReport usageReport =
+        app.getApplicationResourceUsageReport();
+
+    if (usageReport != null) {
+      runningContainers = usageReport.getNumUsedContainers();
+      if (usageReport.getUsedResources() != null) {
+        allocatedCpuVcores = usageReport.getUsedResources().getVirtualCores();
+        allocatedMemoryMB = usageReport.getUsedResources().getMemorySize();
       }
+      aggregateResourceAllocation = usageReport.getMemorySeconds()
+          + " MB-seconds, " + usageReport.getVcoreSeconds()
+          + " vcore-seconds";
+      aggregatePreemptedResourceAllocation = usageReport.
+          getPreemptedMemorySeconds() + " MB-seconds, " +
+          usageReport.getPreemptedVcoreSeconds() + " vcore-seconds";
     }
     progress = app.getProgress() * 100; // in percent
     if (app.getApplicationTags() != null && !app.getApplicationTags().isEmpty()) {
@@ -215,4 +224,12 @@ public class AppInfo {
   public String getAmNodeLabelExpression() {
     return amNodeLabelExpression;
   }
+
+  public String getAggregateResourceAllocation() {
+    return aggregateResourceAllocation;
+  }
+
+  public String getAggregatePreemptedResourceAllocation() {
+    return aggregatePreemptedResourceAllocation;
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org