[
https://issues.apache.org/jira/browse/HBASE-10498?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13898603#comment-13898603
]
Enis Soztutar commented on HBASE-10498:
---------------------------------------
bq. Can you not add a new attribute for the Stochastic LB to consider –
colocation – and weight it above others rather than add API?
This is kind of the opposite of what we do for not co-locating the region
replicas. The patch at HBASE-10351 adds "soft" constraints for ensuring that
the replicas are not co-located. I highly suggest taking a look there. However,
for secondary indexing, co-locating regions should be a "hard constraint" I
imagine.
Still it should be possible to implement hard constraints like co-location
inside the core LB's, but implement the logic of deciding which regions to
co-locate as a pluggable layer.
> 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
>
>
> 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)