[ 
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 [[email protected]].
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)

Reply via email to