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

Ahmed Hussein commented on MAPREDUCE-7333:
------------------------------------------

[~Marcono1234] Thanks for spotting this bug.
I suggest to delete {{toHex()}} implementation because it is not being used 
anywhere in the Hadoop trunk.
If you find some code redundancy that could be improved by calling {{toHex()}}, 
then please go ahead with:
* fixing the implementation
* replace redundant code blocks with calls to {{toHex()}}.

> SecureShuffleUtils.toHex(byte[]) creates malformed hex string
> -------------------------------------------------------------
>
>                 Key: MAPREDUCE-7333
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7333
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>    Affects Versions: 3.2.2
>            Reporter: Marcono1234
>            Assignee: Peter Bacsko
>            Priority: Major
>
> {{org.apache.hadoop.mapreduce.security.SecureShuffleUtils.toHex(byte[])}} 
> creates malformed hex strings:
> {code}
> for (byte b : ba) {
>     ps.printf("%x", b);
> }
> {code}
> The pattern {{"%x"}} would for bytes < 16 only have on hex char and for 
> example both {{1, 0}} and {{16}} would have the result {{"10"}}.
> A correct (and more efficient) implementation would be:
> {code}
> public static String toHex(byte[] ba) {
>     StringBuilder sb = new StringBuilder(ba.length * 2);
>     for (byte b : ba) {
>         int unsignedB = b & 0xFF;
>         if (unsignedB < 16) {
>             sb.append('0');
>         }
>         sb.append(Integer.toHexString(unsignedB));
>     }
>     return sb.toString();
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-issues-h...@hadoop.apache.org

Reply via email to