kafka-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gwens...@apache.org
Subject kafka git commit: KAFKA-3352: Avoid DNS reverse lookups
Date Wed, 09 Mar 2016 22:20:04 GMT
Repository: kafka
Updated Branches:
  refs/heads/trunk 59d19cf3e -> 818080312


KAFKA-3352: Avoid DNS reverse lookups

By using `getHostString` (introduced in Java 7) instead of `getHostName`.

Author: Ismael Juma <ismael@juma.me.uk>

Reviewers: Jason Gustafson, Grant Henke

Closes #1030 from ijuma/kafka-3352-avoid-dns-reverse-look-ups


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

Branch: refs/heads/trunk
Commit: 818080312364940e4a6e964c22ec54e133b8ec02
Parents: 59d19cf
Author: Ismael Juma <ismael@juma.me.uk>
Authored: Wed Mar 9 14:19:57 2016 -0800
Committer: Gwen Shapira <cshapi@gmail.com>
Committed: Wed Mar 9 14:19:57 2016 -0800

----------------------------------------------------------------------
 .../java/org/apache/kafka/common/Cluster.java   |  4 +-
 .../org/apache/kafka/common/ClusterTest.java    | 42 ++++++++++++++++++++
 .../main/scala/kafka/network/SocketServer.scala |  4 +-
 3 files changed, 46 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/kafka/blob/81808031/clients/src/main/java/org/apache/kafka/common/Cluster.java
----------------------------------------------------------------------
diff --git a/clients/src/main/java/org/apache/kafka/common/Cluster.java b/clients/src/main/java/org/apache/kafka/common/Cluster.java
index d86e3a4..4f37358 100644
--- a/clients/src/main/java/org/apache/kafka/common/Cluster.java
+++ b/clients/src/main/java/org/apache/kafka/common/Cluster.java
@@ -110,10 +110,10 @@ public final class Cluster {
      * @return A cluster for these hosts/ports
      */
     public static Cluster bootstrap(List<InetSocketAddress> addresses) {
-        List<Node> nodes = new ArrayList<Node>();
+        List<Node> nodes = new ArrayList<>();
         int nodeId = -1;
         for (InetSocketAddress address : addresses)
-            nodes.add(new Node(nodeId--, address.getHostName(), address.getPort()));
+            nodes.add(new Node(nodeId--, address.getHostString(), address.getPort()));
         return new Cluster(nodes, new ArrayList<PartitionInfo>(0), Collections.<String>emptySet());
     }
 

http://git-wip-us.apache.org/repos/asf/kafka/blob/81808031/clients/src/test/java/org/apache/kafka/common/ClusterTest.java
----------------------------------------------------------------------
diff --git a/clients/src/test/java/org/apache/kafka/common/ClusterTest.java b/clients/src/test/java/org/apache/kafka/common/ClusterTest.java
new file mode 100644
index 0000000..c4b5d46
--- /dev/null
+++ b/clients/src/test/java/org/apache/kafka/common/ClusterTest.java
@@ -0,0 +1,42 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
agreements. See the NOTICE
+ * file distributed with this work for additional information regarding copyright ownership.
The ASF licenses this file
+ * to You under the Apache License, Version 2.0 (the "License"); you may not use this file
except in compliance with the
+ * License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under
the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package org.apache.kafka.common;
+
+import org.apache.kafka.common.utils.Utils;
+import org.junit.Test;
+
+import java.net.InetSocketAddress;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import static org.junit.Assert.assertEquals;
+
+public class ClusterTest {
+
+    @Test
+    public void testBootstrap() {
+        String ipAddress = "140.211.11.105";
+        String hostName = "www.example.com";
+        Cluster cluster = Cluster.bootstrap(Arrays.asList(
+                new InetSocketAddress(ipAddress, 9002),
+                new InetSocketAddress(hostName, 9002)
+        ));
+        Set<String> expectedHosts = Utils.mkSet(ipAddress, hostName);
+        Set<String> actualHosts = new HashSet<>();
+        for (Node node : cluster.nodes())
+            actualHosts.add(node.host());
+        assertEquals(expectedHosts, actualHosts);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/kafka/blob/81808031/core/src/main/scala/kafka/network/SocketServer.scala
----------------------------------------------------------------------
diff --git a/core/src/main/scala/kafka/network/SocketServer.scala b/core/src/main/scala/kafka/network/SocketServer.scala
index f6c3036..5c31ac6 100644
--- a/core/src/main/scala/kafka/network/SocketServer.scala
+++ b/core/src/main/scala/kafka/network/SocketServer.scala
@@ -303,10 +303,10 @@ private[kafka] class Acceptor(val endPoint: EndPoint,
     serverChannel.socket().setReceiveBufferSize(recvBufferSize)
     try {
       serverChannel.socket.bind(socketAddress)
-      info("Awaiting socket connections on %s:%d.".format(socketAddress.getHostName, serverChannel.socket.getLocalPort))
+      info("Awaiting socket connections on %s:%d.".format(socketAddress.getHostString, serverChannel.socket.getLocalPort))
     } catch {
       case e: SocketException =>
-        throw new KafkaException("Socket server failed to bind to %s:%d: %s.".format(socketAddress.getHostName,
port, e.getMessage), e)
+        throw new KafkaException("Socket server failed to bind to %s:%d: %s.".format(socketAddress.getHostString,
port, e.getMessage), e)
     }
     serverChannel
   }


Mime
View raw message