Details
-
Task
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
HBase currently uses StochasticLoadBalancer to determine the cost of moving the regions from one RS to another. Each cost functions give a result between 0 and 1, with 0 being the lowest cost and 1 being the cost. The balancer iterates through each cost function and comes up with the total cost. Now, the balancer will create multiple balancing plans on random actions and try to compute the cost of each plan as if they are executed, if the cost of the plan is less than the initial cost, the plan is executed.
Implement a new "CacheAwareCostFunction" which takes into account if the region is fully cached and return the highest cost if the plan suggests moving this region.