[
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.