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

rajeshbabu commented on HBASE-10576:
------------------------------------

[~stack]

Before answering to your questions first I just wanted to give some brackground 
about this issue. Sorry you are already aware most of the things.
Earlier at some point of time we have been asked for isolating the balancer 
from the index code and integrate the local indexing into phoenix.
https://issues.apache.org/jira/browse/HBASE-9203?focusedCommentId=13897450&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13897450
https://issues.apache.org/jira/browse/HBASE-10576?focusedCommentId=13919739&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13919739
Recently local-indexing feature has been integrated to Phoenix and it's using 
the same custom load balancer for colocation.
But with the custom load balancer, we will have the problems as Jeffrey pointed 
earlier.
https://issues.apache.org/jira/browse/HBASE-10576?focusedCommentId=13980572&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13980572

As an improvement, for stronger colocation I wanted to implement shadow regions 
feature suggested by Jeffrey.
https://issues.apache.org/jira/browse/HBASE-10576?focusedCommentId=13977655&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13977655
https://issues.apache.org/jira/browse/HBASE-10576?focusedCommentId=13978998&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13978998


bq. You do not answer how I turn on/off colocation.

HBASE-10536_v2.patch has custom load balancer implementation. To enable it we 
need to configure below property in hbase-site.xml at master side and restart 
it.
{code}
<property>
        <name>hbase.master.loadbalancer.class</name>
        <value>org.apache.hadoop.hbase.master.balancer.IndexLoadBalancer</value>
</property>
{code}

For the shadow regions I yet to make it enable/disable table wise.

bq. What is the plan for landing this secondary index feature?
We need to do some design level changes so that it can be acceptable for 
others. 
1) Proper APIs for specifying indexes 2) clear cut interfaces for preparing 
index updates 3) pluggable failure policies etc.
Most of the things are clear in phoenix and need to borrow from it or can reuse 
them.
 or else we need to have our secondary index code independently. Please suggest 
what do you feel Stack.
bq.  Is it to come in piecemeal via stuff like this intermediate change to the 
balancer?
No stack, we have just isolated the custom load balancer from our secondary 
index so that it will helpful in Phoenix. 
bq. What changes to core are required? 
Almost all the kernel changes are contributed but there are very minor kernel 
changes like changing access specifiers so that we can reuse HBase code for 
some functionality. 
I will list down and upload here.

Forgive me if I misunderstood. 
Thanks.


> Custom load balancer to co-locate the regions of two tables which are having 
> same split keys
> --------------------------------------------------------------------------------------------
>
>                 Key: HBASE-10576
>                 URL: https://issues.apache.org/jira/browse/HBASE-10576
>             Project: HBase
>          Issue Type: Sub-task
>          Components: Balancer
>            Reporter: rajeshbabu
>            Assignee: rajeshbabu
>         Attachments: HBASE-10536_v2.patch, HBASE-10576.patch, 
> HBASE-10576_shadow_regions_wip.patch
>
>
> To support local indexing both user table and index table should have same 
> split keys. This issue to provide custom balancer to colocate the regions of 
> two tables which are having same split keys. 
> This helps in Phoenix as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to