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

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

bq. if (cell instanceof IndividualBytesFieldCell) {
Why the check is based this way? Other parts we have checks on instanceof 
ByteBufferExtendedCell..  Why not that here?
If the Cell is not DBB backed, the getXXXArray() wont do any extra copy any 
way..  And the clone below is any way needed..

> extra cloneFamily() in Mutation.add(Cell)
> -----------------------------------------
>
>                 Key: HBASE-20710
>                 URL: https://issues.apache.org/jira/browse/HBASE-20710
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>    Affects Versions: 2.0.1
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>            Priority: Minor
>             Fix For: 2.0.1
>
>         Attachments: HBASE-20710-master-v001.patch, 
> HBASE-20710-master-v002.patch, alloc-put-fix.svg, alloc-put-orig.svg
>
>
> The cpu profiling shows that during PE randomWrite testing, about 1 percent 
> of time is spent in cloneFamily. Reviewing code found that when a cell is DBB 
> backed ByteBuffKeyValueCell (which is default with Netty Rpc), 
> cell.getFamilyArray() will call cloneFamily() and there is again a 
> cloneFamily() in the following line of the code. since this is the critical 
> write path processing, this needs to be optimized.
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java#L791
> https://github.com/apache/hbase/blob/master/hbase-client/src/main/java/org/apache/hadoop/hbase/client/Mutation.java#L795



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to