Return-Path: X-Original-To: apmail-hadoop-common-commits-archive@www.apache.org Delivered-To: apmail-hadoop-common-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 56A899A4A for ; Tue, 27 Nov 2012 01:55:55 +0000 (UTC) Received: (qmail 20757 invoked by uid 500); 27 Nov 2012 01:55:55 -0000 Delivered-To: apmail-hadoop-common-commits-archive@hadoop.apache.org Received: (qmail 20700 invoked by uid 500); 27 Nov 2012 01:55:55 -0000 Mailing-List: contact common-commits-help@hadoop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: common-dev@hadoop.apache.org Delivered-To: mailing list common-commits@hadoop.apache.org Received: (qmail 20690 invoked by uid 99); 27 Nov 2012 01:55:54 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2012 01:55:54 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2012 01:55:52 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 15BF62388A64 for ; Tue, 27 Nov 2012 01:55:31 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1413970 - in /hadoop/common/branches/branch-1-win: ./ CHANGES.txt src/core/org/apache/hadoop/net/NetUtils.java src/test/org/apache/hadoop/net/TestNetUtils.java Date: Tue, 27 Nov 2012 01:55:29 -0000 To: common-commits@hadoop.apache.org From: szetszwo@apache.org X-Mailer: svnmailer-1.0.8-patched Message-Id: <20121127015531.15BF62388A64@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: szetszwo Date: Tue Nov 27 01:55:27 2012 New Revision: 1413970 URL: http://svn.apache.org/viewvc?rev=1413970&view=rev Log: svn merge -c 1413969 from branch-1 for HADOOP-9095. Backport HADOOP-8372: NetUtils.normalizeHostName() incorrectly handles hostname starting with a numeric character. Modified: hadoop/common/branches/branch-1-win/ (props changed) hadoop/common/branches/branch-1-win/CHANGES.txt (contents, props changed) hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/net/NetUtils.java hadoop/common/branches/branch-1-win/src/test/org/apache/hadoop/net/TestNetUtils.java Propchange: hadoop/common/branches/branch-1-win/ ------------------------------------------------------------------------------ Merged /hadoop/common/branches/branch-1:r1413969 Modified: hadoop/common/branches/branch-1-win/CHANGES.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/CHANGES.txt?rev=1413970&r1=1413969&r2=1413970&view=diff ============================================================================== --- hadoop/common/branches/branch-1-win/CHANGES.txt (original) +++ hadoop/common/branches/branch-1-win/CHANGES.txt Tue Nov 27 01:55:27 2012 @@ -33,6 +33,10 @@ Release 1.2.0 - unreleased HADOOP-9036. Fix racy test case TestSinkQueue (Backport HADOOP-7292). (Luke Lu backport by suresh) + HADOOP-9095. Backport HADOOP-8372: NetUtils.normalizeHostName() incorrectly + handles hostname starting with a numeric character. (Jing Zhao via + szetszwo) + Release 1.1.1 - Unreleased INCOMPATIBLE CHANGES Propchange: hadoop/common/branches/branch-1-win/CHANGES.txt ------------------------------------------------------------------------------ Merged /hadoop/common/branches/branch-1/CHANGES.txt:r1413969 Modified: hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/net/NetUtils.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/net/NetUtils.java?rev=1413970&r1=1413969&r2=1413970&view=diff ============================================================================== --- hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/net/NetUtils.java (original) +++ hadoop/common/branches/branch-1-win/src/core/org/apache/hadoop/net/NetUtils.java Tue Nov 27 01:55:27 2012 @@ -514,15 +514,11 @@ public class NetUtils { * @return its IP address in the string format */ public static String normalizeHostName(String name) { - if (Character.digit(name.charAt(0), 10) != -1) { //FIXME + try { + InetAddress ipAddress = InetAddress.getByName(name); + return ipAddress.getHostAddress(); + } catch (UnknownHostException e) { return name; - } else { - try { - InetAddress ipAddress = InetAddress.getByName(name); - return ipAddress.getHostAddress(); - } catch (UnknownHostException e) { - return name; - } } } Modified: hadoop/common/branches/branch-1-win/src/test/org/apache/hadoop/net/TestNetUtils.java URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-1-win/src/test/org/apache/hadoop/net/TestNetUtils.java?rev=1413970&r1=1413969&r2=1413970&view=diff ============================================================================== --- hadoop/common/branches/branch-1-win/src/test/org/apache/hadoop/net/TestNetUtils.java (original) +++ hadoop/common/branches/branch-1-win/src/test/org/apache/hadoop/net/TestNetUtils.java Tue Nov 27 01:55:27 2012 @@ -18,6 +18,7 @@ package org.apache.hadoop.net; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; @@ -30,6 +31,8 @@ import java.net.Socket; import java.net.SocketException; import java.net.URI; import java.net.UnknownHostException; +import java.util.Arrays; +import java.util.List; import org.apache.commons.lang.StringUtils; import org.apache.hadoop.conf.Configuration; @@ -321,4 +324,26 @@ public class TestNetUtils { String gotStr = StringUtils.join(got, ", "); assertEquals(expectStr, gotStr); } + + /** + * Test for {@link NetUtils#normalizeHostNames + + */ + @Test + public void testNormalizeHostName() { + List hosts = Arrays.asList(new String[] { "127.0.0.1", "localhost", + "3w.org", "UnknownHost" }); + List normalizedHosts = NetUtils.normalizeHostNames(hosts); + // when ipaddress is normalized, same address is expected in return + assertEquals(normalizedHosts.get(0), hosts.get(0)); + // for normalizing a resolvable hostname, resolved ipaddress is expected in + // return + assertFalse(normalizedHosts.get(1).equals(hosts.get(1))); + assertEquals(normalizedHosts.get(1), hosts.get(0)); + // when normalizing a valid resolvable hostname start with numeric, + // its ipaddress is expected to return + assertFalse(normalizedHosts.get(2).equals(hosts.get(2))); + // return the same hostname after normalizing a irresolvable hostname. + assertEquals(normalizedHosts.get(3), hosts.get(3)); + } } \ No newline at end of file