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

stack commented on HBASE-15205:
-------------------------------

bq. But the other thing is that if we can just add all the non default CF and 
serialize it for every WAL key we can even avoid the local map getting created 
and the check that we perform on these maps etc. But at the cost of serializing 
more information per WAL.

When then is the scope checked? When we go to replicate after reading the WAL? 
We'd be trading CPU for i/o?

If we calculate once on open of the region, we would have to rolling restart 
when scopes are changed (that is probably fine).


> Do not find the replication scope for every WAL#append()
> --------------------------------------------------------
>
>                 Key: HBASE-15205
>                 URL: https://issues.apache.org/jira/browse/HBASE-15205
>             Project: HBase
>          Issue Type: Sub-task
>          Components: regionserver
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>            Priority: Minor
>             Fix For: 2.0.0
>
>         Attachments: HBASE-15205.patch, ScopeWALEdits.jpg, 
> ScopeWALEdits_afterpatch.jpg
>
>
> After the byte[] and char[] the other top contributor for lot of GC (though 
> it is only 2.86%) is the UTF_8.newDecoder.
> This happens because for every WAL append we try to calculate the replication 
> scope associate with the families associated with the TableDescriptor. I 
> think per WAL append doing this is very costly and creates lot of garbage. 



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

Reply via email to