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-16205) When Cells are not copied to MSLAB, deep clone it while adding to Memstore
Date Thu, 14 Jul 2016 07:23:20 GMT

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

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

A fear we should not do that.  When the cell is not copied to MSLAB chunk (whatever be the
reason whether MSLAB is OFF also), we should be doing the copy. This is more imp along with
HBASE-15788. As part of that we will use the ByteBufferpool concept while reading requests
also.  Right now we use that pool when creating read response. And this pool will have off
heap BBs. Socket layer read also will be more efficient when we pass it a DBB.

> When Cells are not copied to MSLAB, deep clone it while adding to Memstore
> --------------------------------------------------------------------------
>
>                 Key: HBASE-16205
>                 URL: https://issues.apache.org/jira/browse/HBASE-16205
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>    Affects Versions: 2.0.0
>            Reporter: Anoop Sam John
>            Assignee: Anoop Sam John
>            Priority: Critical
>             Fix For: 2.0.0
>
>         Attachments: HBASE-16205.patch
>
>
> This is imp after HBASE-15180 optimization. After that we the cells flowing in write
path will be backed by the same byte[] where the RPC read the request into. By default we
have MSLAB On and so we have a copy operation while adding Cells to memstore.  This copy might
not be there if
> 1. MSLAB is turned OFF
> 2. Cell size is more than a configurable max size. This defaults to 256 KB
> 3. If the operation is Append/Increment. 
> In such cases, we should just clone the Cell into a new byte[] and then add to memstore.
 Or else we keep referring to the bigger byte[] chunk for longer time.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message