[ https://issues.apache.org/jira/browse/HBASE-17515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15839598#comment-15839598 ]
Ted Yu commented on HBASE-17515: -------------------------------- bq. justification than just 18 fields vs 4? The 4 fields in BalancerRegionLoad would take 24 bytes (2 long's and 2 int's). For 1M Regions, that would be ~24MB. If heap is 256G, this amount is pretty small. Among the fields in ClusterStatusProtos.RegionLoad, there is storeCompleteSequenceId which is of type List<org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.StoreSequenceId>. The savings given by BalancerRegionLoad would better than 1/4. bq. Is 4G prohibitive on a master node w/ 256G of RAM? In hbase 2.0, more functionality is shifted to master (split / merge / some replication). Preserving heap for those components would be good practice - considering potentially high number of regions in deployment. bq. Should we be looking to a stats package Which stats package(s) is recommended ? bq. should we be working on shaving the size of RL which would have benefit all around? Let me dig into other classes which reference any of the 4 fields mentioned in the description to see if they keep sliding window around. > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)