hadoop-common-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Isaacson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HADOOP-8568) DNS#reverseDns fails on IPv6 addresses
Date Mon, 01 Oct 2012 18:53:08 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-8568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13467092#comment-13467092
] 

Andy Isaacson commented on HADOOP-8568:
---------------------------------------

{code}
+        // rawaddr bytes are of type unsigned int - this converts the given
+        // byte to a (signed) int "rawintaddr"
+        int rawintaddr = rawaddr[i] & 0xff;
+        // format "rawintaddr" into a hex String
+        String addressbyte = String.format("%02x", rawintaddr);
{code}
This can be more simply and clearly written as
{code}
String addressbyte = String.format("%02x", rawaddr[i] & 0xff);
{code}
It's actually sufficient to say {{format("%02x", rawaddr[i])}} but I find that a little too
magic; making the 8-bit truncation explicit seems to more clearly express the intent to me.
 (The mask-free version only gives the correct two-nibble output because of the overspecified
{{FormatSpecifier#print(byte, Locale)}} implementation in {{java.util.Formatter}}, and breaks
if you change to a local int variable for example.)
                
> DNS#reverseDns fails on IPv6 addresses
> --------------------------------------
>
>                 Key: HADOOP-8568
>                 URL: https://issues.apache.org/jira/browse/HADOOP-8568
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.0.0-alpha
>            Reporter: Eli Collins
>            Assignee: Tony Kew
>              Labels: newbie
>         Attachments: HADOOP-8568.patch
>
>
> DNS#reverseDns assumes hostIp is a v4 address (4 parts separated by dots), blows up if
given a v6 address:
> {noformat}
> Caused by: java.lang.ArrayIndexOutOfBoundsException: 3
>         at org.apache.hadoop.net.DNS.reverseDns(DNS.java:79)
>         at org.apache.hadoop.net.DNS.getHosts(DNS.java:237)
>         at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:340)
>         at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:358)
>         at org.apache.hadoop.net.DNS.getDefaultHost(DNS.java:337)
>         at org.apache.hadoop.hbase.master.HMaster.<init>(HMaster.java:235)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>         at org.apache.hadoop.hbase.master.HMaster.constructMaster(HMaster.java:1649)
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message