Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
Reviewed
Description
HBASE-24528 implements a NamedQueue that saved recent history of balancer decision details. Since we want to know exactly why the balancer is skipping to run, we need a new namedQueue called 'BalancerRejection' to hold the history of all details information why the balancer was rejected to run(skipping). LogEntry of 'BalancerRejection' should contain the information below:
1. Reason, to show why this time balancer was rejected
Maybe look like:
(cost1*multiplier1+cost2*multiplier2+...+costn*multipliern)/sumMultiplier=0.025 <= minCostNeedBalance(0.35)
2. Detail cost factors and multipliers
Maybe look like:
org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer$RegionCountSkewCostFunction cost:0.0 multiplier:500.0 org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer$MoveCostFunction cost:0.0 multiplier:7.0 org.apache.hadoop.hbase.master.balancer.StochasticLoadBalancer$RackLocalityCostFunction cost:1.0 multiplier:15.0