[
https://issues.apache.org/jira/browse/HADOOP-735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12465617
]
Milind Bhandarkar commented on HADOOP-735:
------------------------------------------
The public static methods readInt and readVInt of WritableComparator had
different contracts as far as exceptions are concerned. readVInt throws
IOException if the supplied byte[] is smaller than expected, whereas readInt
does not (it will throw ArrayIndexOutOfBounds exception, which being a
RuntimeException, need not be declared.) The generated raw compare method
contract will differ (or we will have to catch alll exceptions, log them and
ignore them) if we are either using readVInt or readInt. That is the issue.
> The underlying data structure, ByteArrayOutputStream, for buffer type of
> Hadoop record is inappropriate
> --------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-735
> URL: https://issues.apache.org/jira/browse/HADOOP-735
> Project: Hadoop
> Issue Type: Bug
> Components: record
> Affects Versions: 0.9.2
> Reporter: Runping Qi
> Assigned To: Milind Bhandarkar
> Fix For: 0.11.0
>
> Attachments: BytesWritable.patch
>
>
> With ByteArrayOutputStream as the underlying data structure for a buffer, the
> user is forced to convert it into a byte [] object in order to do any
> operations other than sequence append on the buffer. The convertion will
> create a new copy of bytes. That will cause huge performance problem.
> It seems BytesWritable is a better replacement.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira