HADOOP-12653. Use SO_REUSEADDR to avoid getting "Address already in use" when 
using kerberos and attempting to bind to any port on the local IP address 
(cmccabe)


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/30c7dfd8
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/30c7dfd8
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/30c7dfd8

Branch: refs/heads/HDFS-1312
Commit: 30c7dfd8ba87fe1b455ad6c05c0a6cd6486f55b7
Parents: 25051c3
Author: Colin Patrick Mccabe <[email protected]>
Authored: Tue Jan 12 10:46:22 2016 -0800
Committer: Colin Patrick Mccabe <[email protected]>
Committed: Tue Jan 12 10:46:22 2016 -0800

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt                  | 4 ++++
 .../src/main/java/org/apache/hadoop/ipc/Client.java              | 1 +
 2 files changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/30c7dfd8/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt 
b/hadoop-common-project/hadoop-common/CHANGES.txt
index 6357a09..2cb86f6 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -659,6 +659,10 @@ Release 2.9.0 - UNRELEASED
     HADOOP-12663. Remove Hard-Coded Values From FileSystem.java.
     (BELUGA BEHR via stevel)
 
+    HADOOP-12653. Use SO_REUSEADDR to avoid getting "Address already in use"
+    when using kerberos and attempting to bind to any port on the local IP
+    address (cmccabe)
+
   BUG FIXES
 
     HADOOP-12655. TestHttpServer.testBindAddress bind port range is wider

http://git-wip-us.apache.org/repos/asf/hadoop/blob/30c7dfd8/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java
----------------------------------------------------------------------
diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java
index 22326f2..8d87957 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Client.java
@@ -625,6 +625,7 @@ public class Client {
               // If host name is a valid local address then bind socket to it
               InetAddress localAddr = NetUtils.getLocalInetAddress(host);
               if (localAddr != null) {
+                this.socket.setReuseAddress(true);
                 this.socket.bind(new InetSocketAddress(localAddr, 0));
               }
             }

Reply via email to