summaryrefslogtreecommitdiffstats
path: root/zookeeper-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2021-01-14 17:08:53 +0100
committerHarald Musum <musum@verizonmedia.com>2021-01-14 17:08:53 +0100
commit6e136f6a31e6fa157921161b7543542f372481da (patch)
tree462e8a42c77c83ad94058ed3210e1bd70533f4a6 /zookeeper-server
parent8f75c71d311b6414d002d5355b3e4981f703239a (diff)
Patch NetUtils so it will use hostname if it exists
In some environments we have Docker containers where we have internal IP addresses (e.g. 172.x.x.x) that are only valid inside the container. This change makes sure that we use hostname instead of theses addresses when possible.
Diffstat (limited to 'zookeeper-server')
-rw-r--r--zookeeper-server/zookeeper-server-3.6.2/src/main/java/org/apache/zookeeper/common/NetUtils.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/zookeeper-server/zookeeper-server-3.6.2/src/main/java/org/apache/zookeeper/common/NetUtils.java b/zookeeper-server/zookeeper-server-3.6.2/src/main/java/org/apache/zookeeper/common/NetUtils.java
index be8cb9a6389..f32f1da7c82 100644
--- a/zookeeper-server/zookeeper-server-3.6.2/src/main/java/org/apache/zookeeper/common/NetUtils.java
+++ b/zookeeper-server/zookeeper-server-3.6.2/src/main/java/org/apache/zookeeper/common/NetUtils.java
@@ -27,13 +27,18 @@ import java.net.InetSocketAddress;
*/
public class NetUtils {
+ // Note: Changed from original to use hostname from InetSocketAddress if there exists one
public static String formatInetAddr(InetSocketAddress addr) {
+ String hostName = addr.getHostName();
+ if (hostName != null) {
+ return String.format("%s:%s", hostName, addr.getPort());
+ }
+
InetAddress ia = addr.getAddress();
if (ia == null) {
return String.format("%s:%s", addr.getHostString(), addr.getPort());
}
-
if (ia instanceof Inet6Address) {
return String.format("[%s]:%s", ia.getHostAddress(), addr.getPort());
} else {