hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chenxu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6721) RegionServer Group based Assignment
Date Wed, 24 May 2017 04:12:05 GMT

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

chenxu commented on HBASE-6721:
-------------------------------

{code:title=RSGroupBasedLoadBalancer.roundRobinAssignment|borderStyle=solid}
  ...
  for(String groupKey : regionMap.keySet()) {
    if (regionMap.get(groupKey).size() > 0) {
      Map<ServerName, List<HRegionInfo>> result =
      this.internalBalancer.roundRobinAssignment(
        regionMap.get(groupKey),
        serverMap.get(groupKey));
      if(result != null) {
        assignments.putAll(result);
      }
    }
  }
  ...
{code}
if two group both has BOGUS_SERVER_NAME,  assignments.putAll may be not right

{code:title=RSGroupBasedLoadBalancer.randomAssignment|borderStyle=solid}
public ServerName randomAssignment(HRegionInfo region,
  List<ServerName> servers) throws HBaseIOException {
  ListMultimap<String,HRegionInfo> regionMap = LinkedListMultimap.create();
  ListMultimap<String,ServerName> serverMap = LinkedListMultimap.create();
  generateGroupMaps(Lists.newArrayList(region), servers, regionMap, serverMap);
  List<ServerName> filteredServers = serverMap.get(regionMap.keySet().iterator().next());
  return this.internalBalancer.randomAssignment(region, filteredServers);
}
{code}
if internalBalancer.randomAssignment return BOGUS_SERVER_NAME, how does AM work?
I think we shoud return null instead of BOGUS_SERVER_NAME

> RegionServer Group based Assignment
> -----------------------------------
>
>                 Key: HBASE-6721
>                 URL: https://issues.apache.org/jira/browse/HBASE-6721
>             Project: HBase
>          Issue Type: New Feature
>          Components: regionserver
>            Reporter: Francis Liu
>            Assignee: Francis Liu
>              Labels: hbase-6721
>             Fix For: 2.0.0
>
>         Attachments: 6721-master-webUI.patch, balanceCluster Sequence Diagram.svg, HBASE-6721_0.98_2.patch,
HBASE-6721_10.patch, HBASE-6721_11.patch, HBASE-6721_12.patch, HBASE-6721_13.patch, HBASE-6721_14.patch,
HBASE-6721_15.patch, HBASE-6721_8.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_94.patch, HBASE-6721_94.patch, HBASE-6721_98_1.patch, HBASE-6721_98_2.patch, HBASE-6721_9.patch,
HBASE-6721_9.patch, HBASE-6721-DesigDoc.pdf, HBASE-6721-DesigDoc.pdf, HBASE-6721-DesigDoc.pdf,
HBASE-6721-DesigDoc.pdf, HBASE-6721 GroupBasedLoadBalancer Sequence Diagram.xml, HBASE-6721_hbase-6721_addendum.patch,
HBASE-6721_trunk1.patch, HBASE-6721_trunk2.patch, HBASE-6721_trunk.patch, HBASE-6721_trunk.patch,
HBASE-6721_trunk.patch, hbase-6721-v15-branch-1.1.patch, hbase-6721-v16.patch, hbase-6721-v17.patch,
hbase-6721-v18.patch, hbase-6721-v19.patch, hbase-6721-v20.patch, hbase-6721-v21.patch, hbase-6721-v22.patch,
hbase-6721-v23.patch, hbase-6721-v25.patch, hbase-6721-v26_draft1.patch, hbase-6721-v26.patch,
hbase-6721-v27.patch, hbase-6721-v27.patch, hbase-6721-v27.patch.txt, hbase-6721-v28.patch,
hbase-6721-v28.patch, hbase-6721-v29.patch, 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.15#6346)

Mime
View raw message