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

Francis Liu commented on HBASE-6721:
------------------------------------

{quote}
1.      Within the interface GroupInfoManager.java, I noticed that the function 
getGroupOfServer returns a GroupInfo object, but the function getGroupOfTable 
returns a String object. Was there a performance consideration or some other 
reason for returning a string? (It seems the API would be more consistent to 
return a GroupInfo object.)
{quote}
Yeah performance. I didn't want to have to gather the information to generate 
the GroupInfo object since most internal calls won't need it. The external api 
call is consistent tho.

{quote}
2.      For the function onlineRetainAssignment why are regions assigned to 
bogus so it ends up in RIT if a server is not available? (We would like to keep 
as few regions in RIT as possible in order to maximize our availability.)
{quote}
This guarantees isolation. Which is one of the key features of Region Server 
Groups. ie you don't want the reason that the region from one group to run out 
of live servers to affect the regions in another group. So worst case you 
affect the availability of the group and not the entire cluster. What's your 
use case for region server groups?

{quote}
3.      On the topic of onlineRetainAssignment, what is the objective for 
separating online and offline servers? I noticed that another balancer such as 
the StochasticLoadBalancer does not make such a distinction.
{quote}
Yes that's inherent in GroupBaseLoadBalancer. Stochastic only looks at what's 
online, while Group needs to look at which member servers are online.


> RegionServer Group based Assignment
> -----------------------------------
>
>                 Key: HBASE-6721
>                 URL: https://issues.apache.org/jira/browse/HBASE-6721
>             Project: HBase
>          Issue Type: New Feature
>            Reporter: Francis Liu
>            Assignee: Francis Liu
>         Attachments: 6721-master-webUI.patch, HBASE-6721 
> GroupBasedLoadBalancer Sequence Diagram.xml, HBASE-6721-DesigDoc.pdf, 
> HBASE-6721-DesigDoc.pdf, HBASE-6721-DesigDoc.pdf, HBASE-6721-DesigDoc.pdf, 
> HBASE-6721_10.patch, HBASE-6721_11.patch, HBASE-6721_8.patch, 
> HBASE-6721_9.patch, HBASE-6721_9.patch, HBASE-6721_94.patch, 
> HBASE-6721_94.patch, HBASE-6721_94_2.patch, HBASE-6721_94_3.patch, 
> HBASE-6721_94_3.patch, HBASE-6721_94_4.patch, HBASE-6721_94_5.patch, 
> HBASE-6721_94_6.patch, HBASE-6721_94_7.patch, HBASE-6721_98_1.patch, 
> HBASE-6721_trunk.patch, HBASE-6721_trunk.patch, HBASE-6721_trunk.patch, 
> HBASE-6721_trunk1.patch, HBASE-6721_trunk2.patch, balanceCluster Sequence 
> Diagram.svg, immediateAssignments Sequence Diagram.svg, randomAssignment 
> Sequence Diagram.svg, retainAssignment Sequence Diagram.svg, 
> roundRobinAssignment Sequence Diagram.svg
>
>
> In multi-tenant deployments of HBase, it is likely that a RegionServer will 
> be serving out regions from a number of different tables owned by various 
> client applications. Being able to group a subset of running RegionServers 
> and assign specific tables to it, provides a client application a level of 
> isolation and resource allocation.
> The proposal essentially is to have an AssignmentManager which is aware of 
> RegionServer groups and assigns tables to region servers based on groupings. 
> Load balancing will occur on a per group basis as well. 
> This is essentially a simplification of the approach taken in HBASE-4120. See 
> attached document.



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

Reply via email to