hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-11934) Support KeyValueCodec to encode non KeyValue cells.
Date Thu, 11 Sep 2014 07:18:34 GMT

    [ https://issues.apache.org/jira/browse/HBASE-11934?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14129734#comment-14129734
] 

Hudson commented on HBASE-11934:
--------------------------------

FAILURE: Integrated in HBase-TRUNK #5492 (See [https://builds.apache.org/job/HBase-TRUNK/5492/])
HBASE-11934 Support KeyValueCodec to encode non KeyValue cells. (Anoop Sam John) (enis: rev
d4850f1f172cd333e9eb3007320207d9f3934a3a)
* hbase-common/src/main/java/org/apache/hadoop/hbase/codec/KeyValueCodec.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValueUtil.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/io/util/StreamUtils.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/codec/KeyValueCodecWithTags.java
* hbase-common/src/main/java/org/apache/hadoop/hbase/KeyValue.java


> Support KeyValueCodec to encode non KeyValue cells.
> ---------------------------------------------------
>
>                 Key: HBASE-11934
>                 URL: https://issues.apache.org/jira/browse/HBASE-11934
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Performance, regionserver, Scanners
>    Affects Versions: 0.99.0
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>            Priority: Critical
>             Fix For: 0.99.0, 2.0.0
>
>         Attachments: HBASE-11934.patch, HBASE-11934_V2.patch
>
>
> We have KeyValueCodec as the default RPC codec now. This can only encode KeyValue types
and need to convert any non KV cell to KeyValue format. This is a expensive op. 
> {code}
>   // This is crass and will not work when KV changes. Also if passed a non-kv Cell, it
will
>   // make expensive copy.
>   // Do not write tags over RPC
>   KeyValue.oswrite((KeyValue) KeyValueUtil.ensureKeyValue(cell), this.out, false);
> {code}
> Now we want Cell to be in entire read path and don't want any copy until we write the
cell to client. 
> The optimization done in the DBE of avoiding copying of value bytes was also not getting
real advantage bacause of this ensureKeyValue() call at the Codec.
> We can encode and write non KeyValue cells with KV serialization format and avoid the
recreate.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message