HBASE-6375 Master may be using a stale list of region servers for creating assignment plan during startup

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1360959 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2012-07-12 21:30:01 +00:00
parent 6d64175d1e
commit 9033191c5e
1 changed files with 6 additions and 6 deletions

View File

@ -2381,12 +2381,6 @@ public class AssignmentManager extends ZooKeeperListener {
* @throws IOException
*/
public void assignAllUserRegions() throws IOException, InterruptedException {
// Get all available servers
List<ServerName> destServers = serverManager.createDestinationServersList();
// If there are no servers we need not proceed with region assignment.
if (destServers.isEmpty()) return;
// Skip assignment for regions of tables in DISABLING state because during clean cluster startup
// no RS is alive and regions map also doesn't have any information about the regions.
// See HBASE-6281.
@ -2397,6 +2391,12 @@ public class AssignmentManager extends ZooKeeperListener {
disablingAndDisabledTables, true);
if (allRegions == null || allRegions.isEmpty()) return;
// Get all available servers
List<ServerName> destServers = serverManager.createDestinationServersList();
// If there are no servers we need not proceed with region assignment.
if (destServers.isEmpty()) return;
// Determine what type of assignment to do on startup
boolean retainAssignment = master.getConfiguration().
getBoolean("hbase.master.startup.retainassign", true);