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

Reply via email to