[
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