Repository: hadoop
Updated Branches:
  refs/heads/branch-2.8 4ea87cb38 -> 22ca536b0


YARN-5286. Add RPC port info in RM web service's response when getting app 
status. (Jun Gong via Varun Saxena).


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/22ca536b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/22ca536b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/22ca536b

Branch: refs/heads/branch-2.8
Commit: 22ca536b0c8201292f32bc8e87ada91335acdbde
Parents: 4ea87cb
Author: Varun Saxena <[email protected]>
Authored: Wed Jul 6 09:31:48 2016 +0530
Committer: Varun Saxena <[email protected]>
Committed: Wed Jul 6 09:31:48 2016 +0530

----------------------------------------------------------------------
 .../resourcemanager/webapp/dao/AppInfo.java     | 21 +++++++++++++++++++-
 .../webapp/TestRMWebServicesApps.java           | 21 +++++++++++++++-----
 .../src/site/markdown/ResourceManagerRest.md    |  7 +++++++
 3 files changed, 43 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/22ca536b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
index c5c02a8..be0b87f 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/dao/AppInfo.java
@@ -82,6 +82,7 @@ public class AppInfo {
   protected long elapsedTime;
   protected String amContainerLogs;
   protected String amHostHttpAddress;
+  private String amRPCAddress;
   protected long allocatedMB;
   protected long allocatedVCores;
   protected int runningContainers;
@@ -168,7 +169,9 @@ public class AppInfo {
                 masterContainer.getId().toString(), app.getUser());
             this.amHostHttpAddress = masterContainer.getNodeHttpAddress();
           }
-          
+
+          this.amRPCAddress = getAmRPCAddressFromRMAppAttempt(attempt);
+
           ApplicationResourceUsageReport resourceReport = attempt
               .getApplicationResourceUsageReport();
           if (resourceReport != null) {
@@ -281,6 +284,22 @@ public class AppInfo {
     return this.amHostHttpAddress;
   }
 
+  public String getAmRPCAddress() {
+    return amRPCAddress;
+  }
+
+  static public String getAmRPCAddressFromRMAppAttempt(RMAppAttempt attempt) {
+    String amRPCAddress = null;
+    if (attempt != null) {
+      String amHost = attempt.getHost();
+      int amRpcPort = attempt.getRpcPort();
+      if (!"N/A".equals(amHost) && amRpcPort != -1) {
+        amRPCAddress = amHost + ":" + amRpcPort;
+      }
+    }
+    return amRPCAddress;
+  }
+
   public boolean amContainerLogsExist() {
     return this.amContainerLogsExist;
   }

http://git-wip-us.apache.org/repos/asf/hadoop/blob/22ca536b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
index 3e7abce..18075f5 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/webapp/TestRMWebServicesApps.java
@@ -45,6 +45,7 @@ import 
org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttempt;
 import 
org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptState;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.ResourceScheduler;
 import 
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fifo.FifoScheduler;
+import org.apache.hadoop.yarn.server.resourcemanager.webapp.dao.AppInfo;
 import org.apache.hadoop.yarn.webapp.GenericExceptionHandler;
 import org.apache.hadoop.yarn.webapp.JerseyTestBase;
 import org.apache.hadoop.yarn.webapp.WebServicesTestUtils;
@@ -1316,7 +1317,8 @@ public class TestRMWebServicesApps extends JerseyTestBase 
{
           WebServicesTestUtils.getXmlString(element, "logAggregationStatus"),
           WebServicesTestUtils.getXmlBoolean(element, "unmanagedApplication"),
           WebServicesTestUtils.getXmlString(element, "appNodeLabelExpression"),
-          WebServicesTestUtils.getXmlString(element, "amNodeLabelExpression"));
+          WebServicesTestUtils.getXmlString(element, "amNodeLabelExpression"),
+          WebServicesTestUtils.getXmlString(element, "amRPCAddress"));
     }
   }
 
@@ -1335,6 +1337,12 @@ public class TestRMWebServicesApps extends 
JerseyTestBase {
       expectedNumberOfElements++;
       amNodeLabelExpression = info.getString("amNodeLabelExpression");
     }
+    String amRPCAddress = null;
+    if (AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt())
+        != null) {
+      expectedNumberOfElements++;
+      amRPCAddress = info.getString("amRPCAddress");
+    }
     assertEquals("incorrect number of elements", expectedNumberOfElements,
         info.length());
 
@@ -1357,7 +1365,8 @@ public class TestRMWebServicesApps extends JerseyTestBase 
{
         info.getString("logAggregationStatus"),
         info.getBoolean("unmanagedApplication"),
         appNodeLabelExpression,
-        amNodeLabelExpression);
+        amNodeLabelExpression,
+        amRPCAddress);
   }
 
   public void verifyAppInfoGeneric(RMApp app, String id, String user,
@@ -1370,9 +1379,8 @@ public class TestRMWebServicesApps extends JerseyTestBase 
{
       int preemptedResourceMB, int preemptedResourceVCores,
       int numNonAMContainerPreempted, int numAMContainerPreempted,
       String logAggregationStatus, boolean unmanagedApplication,
-      String appNodeLabelExpression, String amNodeLabelExpression)
-      throws JSONException,
-      Exception {
+      String appNodeLabelExpression, String amNodeLabelExpression,
+      String amRPCAddress) throws JSONException, Exception {
 
     WebServicesTestUtils.checkStringMatch("id", app.getApplicationId()
         .toString(), id);
@@ -1433,6 +1441,9 @@ public class TestRMWebServicesApps extends JerseyTestBase 
{
     assertEquals("unmanagedApplication doesn't match",
         app.getAMResourceRequest().getNodeLabelExpression(),
         amNodeLabelExpression);
+    assertEquals("amRPCAddress",
+        AppInfo.getAmRPCAddressFromRMAppAttempt(app.getCurrentAppAttempt()),
+        amRPCAddress);
   }
 
   @Test

http://git-wip-us.apache.org/repos/asf/hadoop/blob/22ca536b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
----------------------------------------------------------------------
diff --git 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
index 05c4436..9de12be 100644
--- 
a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
+++ 
b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-site/src/site/markdown/ResourceManagerRest.md
@@ -1381,6 +1381,7 @@ Response Body:
           "clusterId" : 1326815542473,
           "finalStatus" : "SUCCEEDED",
           "amHostHttpAddress" : "host.domain.com:8042",
+          "amRPCAddress" : "host.domain.com:4201",
           "progress" : 100,
           "name" : "word count",
           "startedTime" : 1326815573334,
@@ -1410,6 +1411,7 @@ Response Body:
           "clusterId" : 1326815542473,
           "finalStatus" : "SUCCEEDED",
           "amHostHttpAddress" : "host.domain.com:8042",
+          "amRPCAddress" : "host.domain.com:4202",
           "progress" : 100,
           "name" : "Sleep job",
           "startedTime" : 1326815641380,
@@ -1472,6 +1474,7 @@ Response Body:
     <elapsedTime>25196</elapsedTime>
     
<amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326815542473_0001_01_000001</amContainerLogs>
     <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress>
+    <amRPCAddress>host.domain.com:4201</amRPCAddress>
     <allocatedMB>0</allocatedMB>
     <allocatedVCores>0</allocatedVCores>
     <runningContainers>0</runningContainers>
@@ -1501,6 +1504,7 @@ Response Body:
     <elapsedTime>148166</elapsedTime>
     
<amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326815542473_0002_01_000001</amContainerLogs>
     <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress>
+    <amRPCAddress>host.domain.com:4202</amRPCAddress>
     <allocatedMB>0</allocatedMB>
     <allocatedVCores>0</allocatedVCores>
     <runningContainers>0</runningContainers>
@@ -1664,6 +1668,7 @@ Note that depending on security settings a user might not 
be able to see all the
 | elapsedTime | long | The elapsed time since the application started (in ms) |
 | amContainerLogs | string | The URL of the application master container logs |
 | amHostHttpAddress | string | The nodes http address of the application 
master |
+| amRPCAddress | string | The RPC address of the application master |
 | allocatedMB | int | The sum of memory in MB allocated to the application's 
running containers |
 | allocatedVCores | int | The sum of virtual cores allocated to the 
application's running containers |
 | runningContainers | int | The number of containers currently running for the 
application |
@@ -1703,6 +1708,7 @@ Response Body:
       "clusterId" : 1326821518301,
       "finalStatus" : "SUCCEEDED",
       "amHostHttpAddress" : "host.domain.com:8042",
+      "amRPCAddress" : "host.domain.com:4201",
       "progress" : 100,
       "name" : "Sleep job",
       "applicationType" : "Yarn",
@@ -1756,6 +1762,7 @@ Response Body:
   <elapsedTime>446748</elapsedTime>
   
<amContainerLogs>http://host.domain.com:8042/node/containerlogs/container_1326821518301_0005_01_000001</amContainerLogs>
   <amHostHttpAddress>host.domain.com:8042</amHostHttpAddress>
+  <amRPCAddress>host.domain.com:4201</amRPCAddress>
   <memorySeconds>151730</memorySeconds>
   <vcoreSeconds>103</vcoreSeconds>
   <unmanagedApplication>false</unmanagedApplication>


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to