hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Francis Liu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6721) RegionServer Group based Assignment
Date Thu, 13 Aug 2015 10:47:49 GMT

    [ 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:

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.)
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.

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.)
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?

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.
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

This message was sent by Atlassian JIRA

View raw message