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));
+ }
}