[
https://issues.apache.org/jira/browse/HBASE-11219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14004966#comment-14004966
]
Ted Yu commented on HBASE-11219:
--------------------------------
Here is what I did:
1. on region server running unpatched 0.98, issue 'jmap -histo' several times.
I got:
{code}
num #instances #bytes Class description
--------------------------------------------------------------------------
21: 1994 239280
org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos$RegionLoad$Builder
22: 1994 239280
org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos$RegionLoad
{code}
2. stop region server
3. deploy patched 0.98
4. start region server
5. issue 'jmap -histo' several times. I got:
{code}
31: 1344 64512 java.util.HashMap
32: 529 63480
org.apache.hadoop.hbase.protobuf.generated.ClusterStatusProtos$RegionLoad
33: 918 58752 java.net.URL
{code}
ClusterStatusProtos$RegionLoad$Builder didn't even show up in the new report.
> HRegionServer#createRegionLoad() should reuse RegionLoad.Builder instance
> when called in a loop
> -----------------------------------------------------------------------------------------------
>
> Key: HBASE-11219
> URL: https://issues.apache.org/jira/browse/HBASE-11219
> Project: HBase
> Issue Type: Improvement
> Reporter: Ted Yu
> Assignee: Ted Yu
> Fix For: 0.99.0, 0.98.3
>
> Attachments: 11219-v1.txt, 11219-v2.txt
>
>
> As Andrew showed in the attachment to HBASE-11165,
> ClusterStatusProtos$RegionLoad$Builder took 25MB heap space.
> buildServerLoad() calls createRegionLoad() for each region on the region
> server.
> One instance of ClusterStatusProtos$RegionLoad$Builder can be created outside
> the loop and passed to createRegionLoad().
> Thanks Andrew for the finding.
--
This message was sent by Atlassian JIRA
(v6.2#6252)