From 8b39e486914cb2db368429347997a2f4f01c8ffc Mon Sep 17 00:00:00 2001 From: mbertozzi Date: Fri, 16 Aug 2013 21:43:15 +0000 Subject: [PATCH] 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 --- .../org/apache/hadoop/hbase/client/HConnectionManager.java | 4 ++-- .../hadoop/hbase/master/handler/TestCreateTableHandler.java | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java index ffa96a029f8..64b211e7101 100644 --- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java +++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java @@ -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) { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java index bc3b92b1e8b..3e51f0a4256 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java @@ -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));