瀏覽代碼

YARN-6643. TestRMFailover fails rarely due to port conflict. Contributed by Robert Kanter

(cherry picked from commit 3fd6a2da4e537423d1462238e10cc9e1f698d1c2)
Jason Lowe 8 年之前
父節點
當前提交
8739c4d2f8

+ 6 - 3
hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/HATestUtil.java

@@ -18,16 +18,19 @@
 package org.apache.hadoop.yarn.server.resourcemanager;
 
 import org.apache.hadoop.conf.Configuration;
+import org.apache.hadoop.net.ServerSocketUtil;
 import org.apache.hadoop.yarn.conf.HAUtil;
 import org.apache.hadoop.yarn.conf.YarnConfiguration;
 
+import java.io.IOException;
+
 public class HATestUtil {
 
   public static void setRpcAddressForRM(String rmId, int base,
-      Configuration conf) {
+      Configuration conf) throws IOException {
     for (String confKey : YarnConfiguration.getServiceAddressConfKeys(conf)) {
-      setConfForRM(rmId, confKey, "0.0.0.0:" + (base +
-          YarnConfiguration.getRMDefaultPortNumber(confKey, conf)), conf);
+      setConfForRM(rmId, confKey, "0.0.0.0:" + ServerSocketUtil.getPort(base +
+          YarnConfiguration.getRMDefaultPortNumber(confKey, conf), 10), conf);
     }
   }