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

Chia-Ping Tsai commented on HBASE-19496:
----------------------------------------

bq. Ya what I was saying is apart from the mutation requests, others should not 
use the BBpool. Ya difficult.. It make sense to make sure when we keep the PB 
object, clone it. For Cells this is what we do. By default we will copy to 
MSLAB. If not, we are cloning then while adding to CSLM. I did not say it 1st 
as the code of cloning will be distributed across the code base and we may miss 
some ! But this is the best way considering the perf aspects.
I will attach the patch to make sure the RegionLoad/ServerLoad stored in HM are 
clone of pb object. And then grep the code base to find out the clone we 
missed...

bq. By default it is not there. No regions in HM. So by default we can make it 
off is what I was thinking. Where as in RS this is by default ON. May be do as 
a subtask also ok. I can raise one and work with that if u are ok.
Sure!!

> Reusing the ByteBuffer in rpc layer corrupt the ServerLoad and RegionLoad
> -------------------------------------------------------------------------
>
>                 Key: HBASE-19496
>                 URL: https://issues.apache.org/jira/browse/HBASE-19496
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Chia-Ping Tsai
>            Assignee: Chia-Ping Tsai
>            Priority: Blocker
>             Fix For: 2.0.0-beta-1
>
>         Attachments: HBASE-19496.wip.patch
>
>
> {{ServerLoad}} and {{RegionLoad}} store the pb object internally but the 
> bytebuffer of pb object may be reused in rpc layer. Hence, the {{ServerLoad}} 
> and {{RegionLoad}} which saved by {{HMaster}} will be corrupted if the 
> bytebuffer backed is modified.
> This issue doesn't happen on branch-1.
> # netty server was introduced in 2.0 (see HBASE-17263)
> # reusing bytebuffer to read RPC requests was introduced in 2.0 (see 
> HBASE-15788)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to