hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-17644) Always create ByteBufferCells after copying to MSLAB
Date Tue, 14 Feb 2017 16:27:42 GMT

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

stack commented on HBASE-17644:
-------------------------------

Patch is a nice cleanup. +1. Only beef is my usual... see below..... Hopefully we can get
rid of these one day.

{code}
3191	    if (tagsLen == 0) {
3192	      // When tagsLen is 0, make a NoTagsByteBufferKeyValue version. This is an optimized
class
3193	      // which directly return tagsLen as 0. So we avoid parsing many length components
in
3194	      // reading the tagLength stored in the backing buffer. The Memstore addition of
every Cell
3195	      // call getTagsLength().
3196	      return new NoTagsByteBufferKeyValue(buf, offset, len, cell.getSequenceId());
3197	    } else {
3198	      return new ByteBufferKeyValue(buf, offset, len, cell.getSequenceId());
3204	    }	3199	    }
{code}



> 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