[ 
https://issues.apache.org/jira/browse/HADOOP-6298?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12902051#action_12902051
 ] 

David Rosenstrauch commented on HADOOP-6298:
--------------------------------------------

We just got hit with this problem as well, and lost several hours on this due 
to getBytes giving me back an 18-byte array instead of the expected 12.

I realize this method is part of the API out in the field now, and so likely 
can't be changed.  But I think there should be *some* solution implemented for 
this.  i.e., some new method that's a variation on the name "getBytes" that 
provides the expected behavior.

It's just asking for trouble leaving this little land mine out there for 
developers to keep stumbling upon.

> BytesWritable#getBytes is a bad name that leads to programming mistakes
> -----------------------------------------------------------------------
>
>                 Key: HADOOP-6298
>                 URL: https://issues.apache.org/jira/browse/HADOOP-6298
>             Project: Hadoop Common
>          Issue Type: Improvement
>    Affects Versions: 0.20.1
>            Reporter: Nathan Marz
>
> Pretty much everyone at Rapleaf who has worked with Hadoop has misused 
> BytesWritable#getBytes at some point, not expecting the byte array to be 
> padded. I think we can completely alleviate these programming mistakes by 
> deprecating and renaming this method (again) to be more descriptive. I 
> propose "getPaddedBytes()" or "getPaddedValue()". It would also be helpful to 
> have a helper method "getNonPaddedValue()" that makes a copy into a 
> non-padded byte array. 

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