hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jean-Daniel Cryans (JIRA)" <j...@apache.org>
Subject [jira] Created: (HBASE-3586) Randomize the selection of regions to balance
Date Tue, 01 Mar 2011 19:11:37 GMT
Randomize the selection of regions to balance

                 Key: HBASE-3586
                 URL: https://issues.apache.org/jira/browse/HBASE-3586
             Project: HBase
          Issue Type: Improvement
    Affects Versions: 0.90.1
            Reporter: Jean-Daniel Cryans
            Priority: Critical
             Fix For: 0.90.2

Currently LoadBalancer goes through the list of regions per RS and grabs the few first ones
to balance. This is not bad, but that list is often sorted naturally since the a RS that boots
will open the regions in a sequential and sorted order (since it comes from .META.) which
means that we're balancing regions starting in an almost sorted fashion.

We discovered that because one of our internal users created a new table starting with letter
"p" which has now grown to 100 regions in the last few hours and they are all served by 1
region server. Looking at the master's log, the balancer has moved as many regions from that
region server but they are all from the same table that starts with letter "a" (and the regions
that were moved all come one after the other).

The part of the code that should be modified is:
for (HRegionInfo hri: regions) {
  // Don't rebalance meta regions.
  if (hri.isMetaRegion()) continue; 
  regionsToMove.add(new RegionPlan(hri, serverInfo, null));
  if (numTaken >= numToOffload) break;

This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message