From e0f0e7afed51aac4ac9093ac362f6ce64601884d Mon Sep 17 00:00:00 2001 From: Subru Krishnan Date: Tue, 22 Nov 2016 18:30:40 -0800 Subject: [PATCH] YARN-5905. Update the RM webapp host that is reported as part of Federation membership to current primary RM's IP. --- .../federation/FederationStateStoreService.java | 4 ++-- .../federation/TestFederationRMStateStoreService.java | 11 ++++++++++- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java index 9a01d7e46aa..530184fe1b9 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/main/java/org/apache/hadoop/yarn/server/resourcemanager/federation/FederationStateStoreService.java @@ -177,8 +177,8 @@ private void registerAndInitializeHeartbeat() { config.getSocketAddr(YarnConfiguration.RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_ADDRESS, YarnConfiguration.DEFAULT_RM_ADMIN_PORT)); - String webAppAddress = - WebAppUtils.getResolvedRemoteRMWebAppURLWithoutScheme(config); + String webAppAddress = getServiceAddress(NetUtils + .createSocketAddr(WebAppUtils.getRMWebAppURLWithScheme(config))); SubClusterInfo subClusterInfo = SubClusterInfo.newInstance(subClusterId, amRMAddress, clientRMAddress, rmAdminAddress, webAppAddress, diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java index 30f69b52c53..d92a7932e86 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/federation/TestFederationRMStateStoreService.java @@ -19,6 +19,7 @@ import java.io.IOException; import java.io.StringReader; +import java.net.UnknownHostException; import javax.xml.bind.JAXBException; @@ -157,12 +158,20 @@ private void checkClusterMetricsInfo(String capability, int numNodes) } private String checkSubClusterInfo(SubClusterState state) - throws YarnException { + throws YarnException, UnknownHostException { Assert.assertNotNull(stateStore.getSubCluster(request)); SubClusterInfo response = stateStore.getSubCluster(request).getSubClusterInfo(); Assert.assertEquals(state, response.getState()); Assert.assertTrue(response.getLastHeartBeat() >= lastHearbeatTS); + String expectedAddress = + (response.getClientRMServiceAddress().split(":"))[0]; + Assert.assertEquals(expectedAddress, + (response.getAMRMServiceAddress().split(":"))[0]); + Assert.assertEquals(expectedAddress, + (response.getRMAdminServiceAddress().split(":"))[0]); + Assert.assertEquals(expectedAddress, + (response.getRMWebServiceAddress().split(":"))[0]); lastHearbeatTS = response.getLastHeartBeat(); return response.getCapability(); }