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

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

bq.OffheapTag - can be OFfheapTag only. I don think we need to rename it 
because anyway it is working with offheap BB only. We have ArraybackedTag any 
way. So should be fine. 
No we need to change now Ram.. Because when a BB backed cell is having tags in 
it and one retrieve tags, what we will return is instance of this OffheapTag 
now.  As we changed the OffheapKV to be BBKV only (can be backed by on heap BB 
also),  the tags returned from that might be on heap BB backed. So the rename.
bq.I think next we can infact just remove KV and always work with 
BytebufferKeyValue in the server side including read path.
Ya. Left it because this jira subject for write path.
bq.. Only beef is my usual... see below..... Hopefully we can get rid of these 
one day.
Thanks Stack..  Ya as we have this no tags version in KV, I added it for BBKV 
also.  Ya will see how/whether we can avoid.. I believe it came in first after 
some tests did by Andy which reveal that getTagsLength() eats up time.   After 
his profiling.  His test was around per cell TTL feature where this is getting 
used in write path to know whether we have TTL tag or not.   Later on, we have 
this usage at time when cells added to memstore.


> Always create ByteBufferCells after copying to MSLAB
> ----------------------------------------------------
>
>                 Key: HBASE-17644
>                 URL: https://issues.apache.org/jira/browse/HBASE-17644
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>    Affects Versions: 2.0.0
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: Anoop Sam John
>             Fix For: 2.0.0
>
>         Attachments: HBASE-17644.patch
>
>
> We create a cell out of the Bytebuffer that is returned by MSLAB. This BB can 
> be offheap or onheap type. If MSLAB is full we return onheap byte buffer. So 
> the place where we create a cell by copying data to this buffer we either 
> create KeyValue or OffheapKV based on the buffer type. So what we saw in 
> tests is that since we have a combination of Cells the comparisons that 
> happens when adding to memstore happens millions of times and that has an 
> impact on the performance of write path. In read path this is not significant 
> enougth (though we have plans to just create one type of cells every where in 
> Server side). 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to