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-17644) Always create ByteBufferCells after copying to MSLAB
Date Wed, 15 Feb 2017 06:31:41 GMT

    [ 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)

Mime
View raw message