HBASE-1344 WARN IllegalStateException: Cannot set a region as open if it has not been pending -- part2

git-svn-id: https://svn.apache.org/repos/asf/hadoop/hbase/trunk@773168 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Michael Stack 2009-05-09 06:08:58 +00:00
parent 2e242480b7
commit 2c62949179
1 changed files with 12 additions and 13 deletions

View File

@ -336,24 +336,23 @@ abstract class BaseScanner extends Chore implements HConstants {
}
HServerInfo storedInfo = null;
synchronized (this.master.regionManager) {
/*
* We don't assign regions that are offline, in transition or were on
* a dead server. Regions that were on a dead server will get reassigned
* by ProcessServerShutdown
*/
if (info.isOffline() ||
this.master.regionManager.
regionIsInTransition(info.getRegionNameAsString()) ||
(serverName != null && this.master.serverManager.isDead(serverName))) {
return;
}
if (serverName != null) {
/*
* We don't assign regions that are offline, in transition or were on
* a dead server. Regions that were on a dead server will get reassigned
* by ProcessServerShutdown
*/
if(info.isOffline() ||
this.master.regionManager.regionIsInTransition(
info.getRegionNameAsString()) ||
this.master.serverManager.isDead(serverName)) {
return;
}
storedInfo = this.master.serverManager.getServerInfo(serverName);
}
// If we can't find the HServerInfo, then add it to the list of
// unassigned regions.
if (storedInfo == null) {
// The current assignment is invalid
if (LOG.isDebugEnabled()) {
@ -404,4 +403,4 @@ abstract class BaseScanner extends Chore implements HConstants {
}
}
}
}
}