You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ra...@apache.org on 2012/06/07 19:22:05 UTC
svn commit: r1347718 - in /hbase/branches/0.94/src:
main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
test/java/org/apache/hadoop/hbase/client/TestAdmin.java
Author: ramkrishna
Date: Thu Jun 7 17:22:05 2012
New Revision: 1347718
URL: http://svn.apache.org/viewvc?rev=1347718&view=rev
Log:
HBASE-6146 Disabling of Catalog tables should not be allowed (Anoop)
Modified:
hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
Modified: hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=1347718&r1=1347717&r2=1347718&view=diff
==============================================================================
--- hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (original)
+++ hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java Thu Jun 7 17:22:05 2012
@@ -695,6 +695,7 @@ public class HBaseAdmin implements Abort
*/
public void enableTableAsync(final byte [] tableName)
throws IOException {
+ HTableDescriptor.isLegalTableName(tableName);
isMasterRunning();
try {
getMaster().enableTable(tableName);
@@ -763,6 +764,7 @@ public class HBaseAdmin implements Abort
* @since 0.90.0
*/
public void disableTableAsync(final byte [] tableName) throws IOException {
+ HTableDescriptor.isLegalTableName(tableName);
isMasterRunning();
try {
getMaster().disableTable(tableName);
Modified: hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java
URL: http://svn.apache.org/viewvc/hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java?rev=1347718&r1=1347717&r2=1347718&view=diff
==============================================================================
--- hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java (original)
+++ hbase/branches/0.94/src/test/java/org/apache/hadoop/hbase/client/TestAdmin.java Thu Jun 7 17:22:05 2012
@@ -1529,6 +1529,21 @@ public class TestAdmin {
Assert.assertEquals(initialCount, finalCount) ;
}
+ @Test
+ public void testDisableCatalogTable() throws Exception {
+ try {
+ this.admin.disableTable(".META.");
+ fail("Expected to throw IllegalArgumentException");
+ } catch (IllegalArgumentException e) {
+ }
+ // Before the fix for HBASE-6146, the below table creation was failing as the META table
+ // actually getting disabled by the disableTable() call.
+ HTableDescriptor htd = new HTableDescriptor("testDisableCatalogTable".getBytes());
+ HColumnDescriptor hcd = new HColumnDescriptor("cf1".getBytes());
+ htd.addFamily(hcd);
+ TEST_UTIL.getHBaseAdmin().createTable(htd);
+ }
+
@org.junit.Rule
public org.apache.hadoop.hbase.ResourceCheckerJUnitRule cu =
new org.apache.hadoop.hbase.ResourceCheckerJUnitRule();