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

Jonathan Gray commented on HBASE-1909:
--------------------------------------

There is a very misleading comment:

{noformat}
    int nRegionsToAssign = regionsToAssign.size();
    // Now many regions to assign this server.
    int nregions = regionsPerServer(nRegionsToAssign, thisServersLoad);
{noformat}

In reality, what's returned by regionsPerServer is the number of regions that 
should be assigned to less-loaded servers (javadoc of that method is right)

{noformat}
    if (nRegionsToAssign <= nregions) {
      // I do not know whats supposed to happen in this case.  Assign one.
      LOG.debug("Assigning one region only (playing it safe..)");
      assignRegions(regionsToAssign, 1, info, returnMsgs);
    } else {
      nRegionsToAssign -= nregions;
      if (nRegionsToAssign > 0 || isMetaAssign) {
{noformat}

HBASE-1868 made it so if nRegionsToAssign <= nregions, we just assign one.  
This was to prevent conditions where we didn't assign and a region got left in 
the abyss.

Need to study what was happening in HBASE-1868...

> Balancer assigns to most loaded server when assigning a single region
> ---------------------------------------------------------------------
>
>                 Key: HBASE-1909
>                 URL: https://issues.apache.org/jira/browse/HBASE-1909
>             Project: Hadoop HBase
>          Issue Type: Bug
>    Affects Versions: 0.20.1
>            Reporter: Jonathan Gray
>         Attachments: unbalanced.txt
>
>
> fake on irc found a bug where he truncated his tables and they all ended up 
> getting assigned to the same regionserver.
> 4 total nodes, root and meta each ended up on one node, another node had 0 
> regions, and the final one ended up with all 5 regions of user tables.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to