[ 
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

Reply via email to