hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-6721) RegionServer Group based Assignment
Date Wed, 07 Nov 2012 18:08:15 GMT

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

Ted Yu commented on HBASE-6721:
-------------------------------

{code}
+  public GroupMoveServerWorker(Server master, Map<String, String> serversInTransition,
...
+    this.master = (MasterServices)master;
{code}
master parameter should be declared as MasterServices.
{code}
+        if(sourceGroup != null && !tmpGroup.equals(sourceGroup)) {
+          throw new DoNotRetryIOException("Move server request should only come from one
source group");
{code}
Consider including sourceGroup and tmpGroup in the exception message.
{code}
+      if(!sourceGroup.startsWith(GroupInfo.TRANSITION_GROUP_PREFIX)) {
+        transGroup = GroupInfo.TRANSITION_GROUP_PREFIX+
+            System.currentTimeMillis()+"_"+sourceGroup+"-"+plan.getTargetGroup();
+        groupManager.addGroup(new GroupInfo(transGroup, new TreeSet<String>()));
+      }
+    }
+    groupManager.moveServers(plan.getServers(), sourceGroup, transGroup!=null?transGroup:plan.getTargetGroup());
{code}
Why moving the servers to a transitional group ?
{code}
+        } catch (InterruptedException e) {
+          LOG.warn("Sleep interrupted", e);
{code}
Restore interrupt status.
In complete():
{code}
+      if(success) {
+        groupManager.moveServers(plan.getServers(), tmpSourceGroup, plan.getTargetGroup());
+        if(transGroup != null) {
+          groupManager.removeGroup(transGroup);
{code}
If early action in run() wasn't successful, the transitional group would hang around ?

                
> 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: Vandana Ayyalasomayajula
>             Fix For: 0.96.0
>
>         Attachments: HBASE-6721_94_2.patch, HBASE-6721_94_3.patch, HBASE-6721_94.patch,
HBASE-6721_94.patch, HBASE-6721-DesigDoc.pdf
>
>
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message