You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mb...@apache.org on 2013/08/16 23:43:16 UTC

svn commit: r1514902 - in /hbase/trunk: hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java

Author: mbertozzi
Date: Fri Aug 16 21:43:15 2013
New Revision: 1514902

URL: http://svn.apache.org/r1514902
Log:
HBASE-9233 isTableAvailable() may be stuck if an offline parent was never assigned

Modified:
    hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java

Modified: hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java?rev=1514902&r1=1514901&r2=1514902&view=diff
==============================================================================
--- hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java (original)
+++ hbase/trunk/hbase-client/src/main/java/org/apache/hadoop/hbase/client/HConnectionManager.java Fri Aug 16 21:43:15 2013
@@ -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) {

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java?rev=1514902&r1=1514901&r2=1514902&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/master/handler/TestCreateTableHandler.java Fri Aug 16 21:43:15 2013
@@ -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));