[ https://issues.apache.org/jira/browse/HBASE-15205?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ramkrishna.s.vasudevan updated HBASE-15205: ------------------------------------------- Attachment: ScopeWALEdits_afterpatch.jpg HBASE-15205.patch The patch seems bloated mainly because of lot of test case changes as the WAL.append() signature is changed. The HTD was being passed to the WAL.append() just to get the scope of the column families from it. Ideally it can be obtained once per HRegion and pass that to the FSWALEntry and use it from there. First thought of adding some getScope() directly under HTD and return a Map from that but that is not straight forward because HTD is public and also should we populate the map on getScope() call every time when it is called? Also there was already a TODO asking why HTD is getting passed to WAL.append() so I thought it made sense to remove it. But this patch avoids lot of garbage. One more thing to see is that since replication deals with families we are bound to do lot of copy to store the family byte[] in some maps. If we could avoid that too then Offheaping work would be greatly benefited. Will try addressing that later. Patch for QA run. Will update the patch based on this QA results. > 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)