[ 
https://issues.apache.org/jira/browse/HBASE-3679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13009469#comment-13009469
 ] 

Ted Yu commented on HBASE-3679:
-------------------------------

>From Jonathan:
One of the hardest parts of load balancing based on request count and other 
dynamic/transient measures is that you can get some pretty pathological 
conditions where you are always moving stuff around.

To guard against it, I think we'll need to move to more of a cost-based 
algorithm that is taking not just the difference in request counts into account 
but also a baseline "cost" of moving a region.  The cost difference in load 
between two unbalanced servers would have to outweigh the cost associated with 
moving a region.  As you say, looking at the number of live operations to a 
given region could contribute to the cost of moving that region, but the best 
measure for that is probably just looking at request count (it's all requests 
that incur a cost, not just active scanners).

> Provide cost information associated with moving region(s)
> ---------------------------------------------------------
>
>                 Key: HBASE-3679
>                 URL: https://issues.apache.org/jira/browse/HBASE-3679
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Ted Yu
>
> In order for load balancer to make better decision, we need to establish cost 
> model for moving region(s).
> One factor would be the number of active scanners on a particular region.
> This count is easy to maintain at HRegion level. instantiateInternalScanner() 
> can increment the counter and RegionScanner.close() would decrement the count.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to