You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by iw...@apache.org on 2016/06/02 11:56:00 UTC
hadoop git commit: HDFS-10367.
TestDFSShell.testMoveWithTargetPortEmpty fails with Address bind exception.
Contributed by Brahma Reddy Battula.
Repository: hadoop
Updated Branches:
refs/heads/trunk 99675e00d -> aadb77e41
HDFS-10367. TestDFSShell.testMoveWithTargetPortEmpty fails with Address bind exception. Contributed by Brahma Reddy Battula.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/aadb77e4
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/aadb77e4
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/aadb77e4
Branch: refs/heads/trunk
Commit: aadb77e412ab9d4ad05a0bd8b37d547ba5adad03
Parents: 99675e0
Author: Masatake Iwasaki <iw...@apache.org>
Authored: Thu Jun 2 20:55:04 2016 +0900
Committer: Masatake Iwasaki <iw...@apache.org>
Committed: Thu Jun 2 20:55:04 2016 +0900
----------------------------------------------------------------------
.../org/apache/hadoop/net/ServerSocketUtil.java | 39 ++++++++++++++++++++
.../org/apache/hadoop/hdfs/TestDFSShell.java | 4 +-
2 files changed, 42 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/aadb77e4/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/ServerSocketUtil.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/ServerSocketUtil.java b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/ServerSocketUtil.java
index a3e1fff..023c1ed 100644
--- a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/ServerSocketUtil.java
+++ b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/net/ServerSocketUtil.java
@@ -63,4 +63,43 @@ public class ServerSocketUtil {
}
}
+ /**
+ * Check whether port is available or not.
+ *
+ * @param port given port
+ * @return
+ */
+ private static boolean isPortAvailable(int port) {
+ try (ServerSocket s = new ServerSocket(port)) {
+ return true;
+ } catch (IOException e) {
+ return false;
+ }
+ }
+
+ /**
+ * Wait till the port available.
+ *
+ * @param port given port
+ * @param retries number of retries for given port
+ * @return
+ * @throws InterruptedException
+ * @throws IOException
+ */
+ public static int waitForPort(int port, int retries)
+ throws InterruptedException, IOException {
+ int tries = 0;
+ while (true) {
+ if (isPortAvailable(port)) {
+ return port;
+ } else {
+ tries++;
+ if (tries >= retries) {
+ throw new IOException(
+ "Port is already in use; giving up after " + tries + " times.");
+ }
+ Thread.sleep(1000);
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/aadb77e4/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSShell.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSShell.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSShell.java
index fc3de75..e31de13 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSShell.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDFSShell.java
@@ -49,6 +49,7 @@ import org.apache.hadoop.io.SequenceFile;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.compress.BZip2Codec;
import org.apache.hadoop.io.compress.CompressionCodec;
+import org.apache.hadoop.net.ServerSocketUtil;
import org.apache.hadoop.security.UserGroupInformation;
import org.apache.hadoop.test.PathUtils;
import org.apache.hadoop.util.ReflectionUtils;
@@ -567,7 +568,8 @@ public class TestDFSShell {
cluster = new MiniDFSCluster.Builder(conf)
.format(true)
.numDataNodes(2)
- .nameNodePort(HdfsClientConfigKeys.DFS_NAMENODE_RPC_PORT_DEFAULT)
+ .nameNodePort(ServerSocketUtil.waitForPort(
+ HdfsClientConfigKeys.DFS_NAMENODE_RPC_PORT_DEFAULT, 10))
.waitSafeMode(true)
.build();
FileSystem srcFs = cluster.getFileSystem();
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org