You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by te...@apache.org on 2012/10/28 17:33:27 UTC

svn commit: r1403037 - in /hbase/trunk/hbase-server/src: main/java/org/apache/hadoop/hbase/regionserver/HRegion.java test/java/org/apache/hadoop/hbase/client/TestAdmin.java

Author: tedyu
Date: Sun Oct 28 16:33:27 2012
New Revision: 1403037

URL: http://svn.apache.org/viewvc?rev=1403037&view=rev
Log:
HBASE-6665 ROOT region should not be splitted even with META row as explicit split key (Rajesh)


Modified:
    hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
    hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java

Modified: hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java?rev=1403037&r1=1403036&r2=1403037&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java Sun Oct 28 16:33:27 2012
@@ -5157,10 +5157,10 @@ public class HRegion implements HeapSize
    * is based on the size of the store.
    */
   public byte[] checkSplit() {
-    // Can't split META
-    if (getRegionInfo().isMetaRegion()) {
+    // Can't split ROOT/META
+    if (this.regionInfo.isMetaTable()) {
       if (shouldForceSplit()) {
-        LOG.warn("Cannot split meta regions in HBase 0.20 and above");
+        LOG.warn("Cannot split root/meta regions in HBase 0.20 and above");
       }
       return null;
     }

Modified: hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java?rev=1403037&r1=1403036&r2=1403037&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (original)
+++ hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java Sun Oct 28 16:33:27 2012
@@ -1631,5 +1631,18 @@ public class TestAdmin {
       ct.stop();
     }
   }
+  
+  @Test
+  public void testRootTableSplit() throws Exception {
+    ServerName serverName = TEST_UTIL.getMiniHBaseCluster().getServerHoldingRoot();
+    Scan s = new Scan();
+    HTable rootTable = new HTable(TEST_UTIL.getConfiguration(), HConstants.ROOT_TABLE_NAME);
+    ResultScanner scanner = rootTable.getScanner(s);
+    Result metaEntry = scanner.next();
+    this.admin.split(HConstants.ROOT_TABLE_NAME, metaEntry.getRow());
+    Thread.sleep(1000);
+    List<HRegionInfo> onlineRegions = this.admin.getOnlineRegions(serverName);
+    assertTrue(onlineRegions != null && onlineRegions.contains(HRegionInfo.ROOT_REGIONINFO));
+  }
 
 }