diff --git a/CHANGES.txt b/CHANGES.txt index 0d60fe78822..dd55ec32502 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -214,6 +214,8 @@ Release 0.20.0 - Unreleased HBASE-1561 HTable Mismatch between javadoc and what it actually does HBASE-1558 deletes use 'HConstants.LATEST_TIMESTAMP' but no one translates that into 'now' + HBASE-1508 Shell "close_region" reveals a Master<>HRS problem, regions are + not reassigned IMPROVEMENTS HBASE-1089 Add count of regions on filesystem to master UI; add percentage diff --git a/src/java/org/apache/hadoop/hbase/master/BaseScanner.java b/src/java/org/apache/hadoop/hbase/master/BaseScanner.java index 28e15891ab6..549d88f25a7 100644 --- a/src/java/org/apache/hadoop/hbase/master/BaseScanner.java +++ b/src/java/org/apache/hadoop/hbase/master/BaseScanner.java @@ -349,14 +349,15 @@ 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 + /* We don't assign regions that are offline, in transition or were on + * a dead server (unless they have an empty serverName which would imply + * they haven't been assigned in the first place OR it was closed from + * the shell with 'close_region' which deletes server and startcode + * from .META. so region gets reassigned). 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.regionManager.regionIsInTransition(info.getRegionNameAsString())) || (serverName != null && this.master.serverManager.isDead(serverName))) { return; }