[ 
https://issues.apache.org/jira/browse/HADOOP-3449?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Douglas resolved HADOOP-3449.
-----------------------------------

       Resolution: Duplicate
    Fix Version/s: 0.17.0

Fixed in HADOOP-3094

> problem with bytewritable tostring
> ----------------------------------
>
>                 Key: HADOOP-3449
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3449
>             Project: Hadoop Core
>          Issue Type: Bug
>            Reporter: kishore gopalakrishna
>             Fix For: 0.17.0
>
>
> The BytesWritable toString method is not bidirectional. What it means is we 
> cannot get back the bytes from the toString form of bytesWritable. Here is 
> the snippet
> public String toString() { 
>     StringBuffer sb = new StringBuffer(3*size);
>     for (int idx = 0; idx < size; idx++) {
>       // if not the first, put a blank separator in
>       if (idx != 0) {
>         sb.append(' ');
>       }
>      *String num = Integer.toHexString((int) bytes[idx]);*
>       // if it is only one digit, add a leading 0.
>       if (num.length() < 2) {
>         sb.append('0');
>       }
>       sb.append(num);
>     }
>     return sb.toString();
>   }
> This is not the correct way to convert byte to string. This works well for 
> positive numbers but fails for negative numbers
> String num = Integer.toHexString((int) bytes[idx] && 0XFF);
> http://forum.java.sun.com/thread.jspa?threadID=252591&messageID=2272668

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to