[
https://issues.apache.org/jira/browse/HBASE-7320?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13878927#comment-13878927
]
Nick Dimiduk commented on HBASE-7320:
-------------------------------------
[~lhofhansl] if I follow your intentions, this means:
# KeyValue#getBuffer goes away entirely -- there's API assumption that a
KeyValue is backed by a single "buffer object" of any type (byte[], ByteBuffer,
&c.). A KeyValue instance /could/ be backed by a single "buffer object", at the
option of its creator, but this is an implementation detail.
# KeyValue objects by API design is now backed by 5 "buffer objects" -- one for
each rowkey, cf, qualifier, ts, and value.
# previous point does not restrict some producer of KeyValue instances from
using it's on encoding of multiple instances, but it does require that producer
to generate instances that conform to this API. For example, say I wanted to
store KeyValues in batches of 100 where all rowkeys are stored together, then
all cf, then quals, then ts, then values and make optimizations therein. The
requirement is I can produce a KeyValue instance from the block that implement
getXXXArray methods AND I no longer must materialize a "buffer object" for
support of getBuffer.
Did I get that right?
Do we have any thought on what an appropriate "buffer object" should be? Is
that for another ticket?
> Replace calls to KeyValue.getBuffer with appropropriate calls to getRowArray,
> getFamilyArray(), getQualifierArray, and getValueArray
> ------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HBASE-7320
> URL: https://issues.apache.org/jira/browse/HBASE-7320
> Project: HBase
> Issue Type: Bug
> Reporter: Lars Hofhansl
> Assignee: stack
> Fix For: 0.98.0
>
>
> In many places this is simple task of just replacing the method name.
> There, however, quite a few places where we assume that:
> # the entire KV is backed by a single byte array
> # the KVs key portion is backed by a single byte array
> Some of those can easily be fixed, others will need their own jiras.
--
This message was sent by Atlassian JIRA
(v6.1.5#6160)