[ https://issues.apache.org/jira/browse/HBASE-17515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15840195#comment-15840195 ]
Ted Yu commented on HBASE-17515: -------------------------------- Using Instrumentation on a cluster needs to modify JVM option to include agent jar. Will try that route when I have more time. For now, I borrowed some code for static analysis from http://stackoverflow.com/questions/9368764/calculate-size-of-object-in-java . BalancerRegionLoad: size 40 ClusterStatusProtos.RegionLoad: size 136 I think the reduction in size would be bigger from dynamic analysis using Instrumentation. > Reduce memory footprint of RegionLoads kept by StochasticLoadBalancer > --------------------------------------------------------------------- > > Key: HBASE-17515 > URL: https://issues.apache.org/jira/browse/HBASE-17515 > Project: HBase > Issue Type: Improvement > Reporter: Ted Yu > Assignee: Tim Brown > Fix For: 2.0.0, 1.4.0 > > Attachments: 17515.branch-1.v2.txt, 17515.v1.txt, 17515.v2.txt > > > Currently StochasticLoadBalancer uses the following fields of RegionLoad : > {code} > return rl.getReadRequestsCount(); > return rl.getWriteRequestsCount(); > return rl.getMemStoreSizeMB(); > return rl.getStorefileSizeMB(); > {code} > However, RegionLoad refers to ClusterStatusProtos.RegionLoad which has 18 > fields. > This means we keep hbase.master.balancer.stochastic.numRegionLoadsToRemember > (default value 15) RegionLoad's in memory but only use a small portion of > them. > This JIRA is to consider creating POJO which wraps the above 4 fields so that > the memory footprint can be lowered. > Lowering memory footprint would allow wider sliding window to be configured > for load balancer while limiting the impact to heap consumption. -- This message was sent by Atlassian JIRA (v6.3.4#6332)