[ 
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)

Reply via email to