Explorar o código

HADOOP-5655. TestMRServerPorts fails on java.net.BindException. Contributed by Devaraj Das.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/core/trunk@765809 13f79535-47bb-0310-9956-ffa450edef68
Hairong Kuang %!s(int64=16) %!d(string=hai) anos
pai
achega
e9b0c80429
Modificáronse 2 ficheiros con 15 adicións e 0 borrados
  1. 3 0
      CHANGES.txt
  2. 12 0
      src/test/org/apache/hadoop/mapred/TestMRServerPorts.java

+ 3 - 0
CHANGES.txt

@@ -1256,6 +1256,9 @@ Release 0.20.0 - Unreleased
     HADOOP-5654. TestReplicationPolicy.<init> fails on java.net.BindException.
     (hairong)
 
+    HADOOP-5655. TestMRServerPorts fails on java.net.BindException. (Devaraj
+    Das via hairong)
+
 Release 0.19.2 - Unreleased
 
   BUG FIXES

+ 12 - 0
src/test/org/apache/hadoop/mapred/TestMRServerPorts.java

@@ -22,6 +22,7 @@ import junit.framework.TestCase;
 import org.apache.hadoop.hdfs.TestHDFSServerPorts;
 import org.apache.hadoop.hdfs.server.datanode.DataNode;
 import org.apache.hadoop.hdfs.server.namenode.NameNode;
+import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.fs.FileSystem;
 
 /**
@@ -72,6 +73,15 @@ public class TestMRServerPorts extends TestCase {
     }
     return jt;
   }
+  
+  private void setDataNodePorts(Configuration conf) {
+    conf.set("dfs.datanode.address", 
+        TestHDFSServerPorts.NAME_NODE_HOST + "0");
+    conf.set("dfs.datanode.http.address", 
+        TestHDFSServerPorts.NAME_NODE_HTTP_HOST + "0");
+    conf.set("dfs.datanode.ipc.address", 
+        TestHDFSServerPorts.NAME_NODE_HOST + "0");
+  }
 
   /**
    * Check whether the JobTracker can be started.
@@ -116,6 +126,7 @@ public class TestMRServerPorts extends TestCase {
     DataNode dn = null;
     try {
       nn = hdfs.startNameNode();
+      setDataNodePorts(hdfs.getConfig());
       dn = hdfs.startDataNode(1, hdfs.getConfig());
 
       // start job tracker on the same port as name-node
@@ -157,6 +168,7 @@ public class TestMRServerPorts extends TestCase {
     JTRunner runner = null;
     try {
       nn = hdfs.startNameNode();
+      setDataNodePorts(hdfs.getConfig());
       dn = hdfs.startDataNode(2, hdfs.getConfig());
 
       JobConf conf2 = new JobConf(hdfs.getConfig());