Anoop Sam John commented on HBASE-16134:

Yes as u said the case is when cell is having tags but the RPC layer dont want 
to serialize it. So it uses a Codec which tries to strip the tags.  The Codec 
trying to call single write method in Cell to do the write to OS.  So it has to 
have a way to instruct the method that dont write tags.

bq.When is this Cell created? It is created at read time only? Can we create a 
Cell at read-time that is of a type that never includes tags when it 
I was exactly thinking in this direction from today morning. :-)
But we cannot do that is what I got as ans
Cell is created way down the read layer. ie. in HFileScanner. At that layer we 
have no idea of Codec/ RPC/ User and it should not also.
So we can not create a special Cell at this level which knows it should do the 
Tags truncate while write to OS.

The only time the Cell will be asked to seriailze is when it is writing on the 
RPC to send back to the client? Are there other times?
It is at RPC side as well as WAL write time. Now we dont use but I believe we 
can use this Cell write method while we flush also.  (HFileWriter flow).

> Introduce Cell extension for server side.
> -----------------------------------------
>                 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

Reply via email to