hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nick Dimiduk (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-7320) Replace calls to KeyValue.getBuffer with appropropriate calls to getRowArray, getFamilyArray(), getQualifierArray, and getValueArray
Date Wed, 22 Jan 2014 18:11:25 GMT

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

Mime
View raw message