hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anoop Sam John (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-16134) Introduce InternalCell
Date Wed, 29 Jun 2016 05:56:45 GMT

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

Anoop Sam John commented on HBASE-16134:
----------------------------------------

We do have 2 Codecs , with and without Tags [~saint.ack@gmail.com].
The issue is different.  The Streamable interface (and now the method in new interface) helps
us to write whole of the Cell (Key, Value , Tags) in one shot to the OS.   Or else the Codec
impl has to parse all the lengths and write each item one after the other.
<Total Length> <KL><VL><RK Len><RK><CF len><CF><CQ>....
<tagsLen><Tags>
When the Cell is having the write(OS) implemented, the Codec just calls that.  The Cell impl
will do these writes.  Now how we can instruct the Cell object to write tags or not with out
passing any param?  So the simple way of passing boolean was adopted.  Or else we will need
pass some CodecContext or so. Or else the Context to be avail in a ThreadLocal or so. But
that is perf overhead.
Another way would be to make the contract of this write(OS) to write only Key and Value but
not tags.  That can be done by the Codec itself. Thoughts?

> Introduce InternalCell
> ----------------------
>
>                 Key: HBASE-16134
>                 URL: https://issues.apache.org/jira/browse/HBASE-16134
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16134.patch, HBASE-16134.patch, HBASE-16134_V2.patch
>
>
> Came after the discussion under HBASE-15721 and HBASE-15879.
> InternalCell is a Cell extension. We do have Cell extensions across different interfaces
now.
> SettableSeqId
> SettableTimestamp
> Streamable.
> And demand for this keep growing.
> So let us include everything into one Interface.



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

Mime
View raw message