HDFS-4392. Use NetUtils#getFreeSocketPort in MiniDFSCluster. Contributed by Andrew Purtell.

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1433578 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Suresh Srinivas 2013-01-15 18:47:51 +00:00
parent 6a2f2551fd
commit 4a579d4de9
2 changed files with 4 additions and 15 deletions

View File

@ -488,6 +488,9 @@ Release 2.0.3-alpha - Unreleased
HDFS-4375. Use token request messages defined in hadoop common.
(suresh)
HDFS-4392. Use NetUtils#getFreeSocketPort in MiniDFSCluster.
(Andrew Purtell via suresh)
OPTIMIZATIONS
HDFS-3429. DataNode reads checksums even if client does not need them (todd)

View File

@ -48,7 +48,6 @@ import java.io.IOException;
import java.io.PrintWriter;
import java.io.RandomAccessFile;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.URI;
import java.net.URISyntaxException;
import java.nio.channels.FileChannel;
@ -2290,19 +2289,6 @@ public class MiniDFSCluster {
return nameNodes[nnIndex].nameNode;
}
private int getFreeSocketPort() {
int port = 0;
try {
ServerSocket s = new ServerSocket(0);
port = s.getLocalPort();
s.close();
return port;
} catch (IOException e) {
// Could not get a free port. Return default port 0.
}
return port;
}
protected void setupDatanodeAddress(Configuration conf, boolean setupHostsFile,
boolean checkDataNodeAddrConfig) throws IOException {
if (setupHostsFile) {
@ -2311,7 +2297,7 @@ public class MiniDFSCluster {
throw new IOException("Parameter dfs.hosts is not setup in conf");
}
// Setup datanode in the include file, if it is defined in the conf
String address = "127.0.0.1:" + getFreeSocketPort();
String address = "127.0.0.1:" + NetUtils.getFreeSocketPort();
if (checkDataNodeAddrConfig) {
conf.setIfUnset(DFS_DATANODE_ADDRESS_KEY, address);
} else {