HBASE-9233 isTableAvailable() may be stuck if an offline parent was never assigned

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1514902 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
mbertozzi 2013-08-16 21:43:15 +00:00
parent 0a31b4bd8a
commit 8b39e48691
2 changed files with 4 additions and 2 deletions

View File

@ -868,7 +868,7 @@ public class HConnectionManager {
@Override
public boolean processRow(Result row) throws IOException {
HRegionInfo info = MetaScanner.getHRegionInfo(row);
if (info != null) {
if (info != null && !info.isSplitParent()) {
if (tableName.equals(info.getTableName())) {
ServerName server = HRegionInfo.getServerName(row);
if (server == null) {
@ -903,7 +903,7 @@ public class HConnectionManager {
@Override
public boolean processRow(Result row) throws IOException {
HRegionInfo info = MetaScanner.getHRegionInfo(row);
if (info != null) {
if (info != null && !info.isSplitParent()) {
if (tableName.equals(info.getTableName())) {
ServerName server = HRegionInfo.getServerName(row);
if (server == null) {

View File

@ -124,6 +124,8 @@ public class TestCreateTableHandler {
}
}
assertTrue(TEST_UTIL.getHBaseAdmin().isTableEnabled(tableName));
assertTrue(TEST_UTIL.getHBaseAdmin().isTableAvailable(tableName));
assertTrue(TEST_UTIL.getHBaseAdmin().isTableAvailable(tableName, new byte[][] { splitPoint }));
RegionStates regionStates = m.getAssignmentManager().getRegionStates();
assertTrue("Parent should be in SPLIT state",
regionStates.isRegionInState(parent, State.SPLIT));