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

stack commented on HBASE-10498:
-------------------------------

When a region goes online/offline, we now update in two places?  Why not have 
the one place read the other so we keep one list only, an authoritative one?  
Inject into the balancer an Interface it can pull on when it needs to know what 
is online?

St.Ack

> Add new APIs to load balancer interface
> ---------------------------------------
>
>                 Key: HBASE-10498
>                 URL: https://issues.apache.org/jira/browse/HBASE-10498
>             Project: HBase
>          Issue Type: Improvement
>          Components: Balancer
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>             Fix For: 0.98.1, 0.99.0
>
>         Attachments: HBASE-10498.patch
>
>
> If a custom load balancer required to maintain region and corresponding 
> server locations,
> we can capture this information when we run any balancer algorithm before 
> assignment(like random,retain).
> But during master startup we will not call any balancer algorithm if a region 
> already assinged
> During split also we open child regions first in RS and then notify to master 
> through zookeeper. 
> So split regions information cannot be captured into balancer.
> Since balancer has access to master we can get the information from online 
> regions or region plan data structures in AM.
> But some use cases we cannot relay on this information(mainly to maintain 
> colocation of two tables regions). 
> So it's better to add some APIs to load balancer to notify balancer when 
> *region is online or offline*.
> These APIs helps a lot to maintain *regions colocation through custom load 
> balancer* which is very important in secondary indexing. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to