[
https://issues.apache.org/jira/browse/HBASE-9091?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13728753#comment-13728753
]
Nick Dimiduk commented on HBASE-9091:
-------------------------------------
{{Struct}} is the primary consumer in the code I've packaged -- anything that
places two values into a buffer. A user is also free to add their own, more
specific implementation of {{DataType}}, in which case they'll deal with it too.
It's not difficult to change the API again, it's just time consuming and
tedious. I don't want to go through all the code again until we agree on how it
should be done ;) [~enis] and [~mcorgan] both advocate for using byte[] because
it's fast and doesn't include any dependencies. There's also Matt's argument of
implementing it from scratch rather than overloading {{ByteRange}} because then
there's no dependencies on HBase code and someone could do a copy-paste into
their own code.
> Update ByteRange to maintain consumer's position
> ------------------------------------------------
>
> Key: HBASE-9091
> URL: https://issues.apache.org/jira/browse/HBASE-9091
> Project: HBase
> Issue Type: Improvement
> Components: Client
> Reporter: Nick Dimiduk
> Assignee: Nick Dimiduk
> Attachments: 0001-HBASE-9091-Extend-ByteRange.patch,
> 0001-HBASE-9091-Extend-ByteRange.patch
>
>
> ByteRange is a useful alternative to Java's ByteBuffer. Notably, it is
> mutable and an instance can be assigned over a byte[] after instantiation.
> This is valuable as a performance consideration when working with byte[]
> slices in a tight loop. Its current design is such that it is not possible to
> consume a portion of the range while performing activities like decoding an
> object without altering the definition of the range. It should provide a
> position that is independent from the range's offset and length to make
> partial reads easier.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira