[ 
https://issues.apache.org/jira/browse/HBASE-15205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ramkrishna.s.vasudevan updated HBASE-15205:
-------------------------------------------
    Attachment: HBASE-15205_1.patch

This patch does the following
-> collects the scope per family (that has non default scope) during HRegion 
Construction and that scope is passed over to WAL.append().
-> Now we don't iterate and find the scope per Cell in WAlEdit and create local 
map which is added to WALKey that in turn gets persisted in PB.
Instead we directly set the scope that is passed over from HRegion per WALKey.
-> This avoids lot of short lived objects like the String created while 
fetching the scope from HTD, the CellUtil.cloneFamily() that we do per cell for 
getting the scope and the local map creation for every WAL#append call.
-> The patch is big because of the change in WAL.append() API signature.
-> I think the replication scope for a family can only be changed by 
alter_table command. For which we have to disable and enable the table. So this 
should workout. Is there any chance that the replication scope of a table can 
be changed without using the alter_table command?

> 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, HBASE-15205_1.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