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:25:23 UTC
svn commit: r1347719 - in /hbase/trunk/hbase-server/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:25:22 2012
New Revision: 1347719
URL: http://svn.apache.org/viewvc?rev=1347719&view=rev
Log:
HBASE-6146 Disabling of Catalog tables should not be allowed (Anoop)
Modified:
hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.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/client/HBaseAdmin.java
URL: http://svn.apache.org/viewvc/hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java?rev=1347719&r1=1347718&r2=1347719&view=diff
==============================================================================
--- hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java (original)
+++ hbase/trunk/hbase-server/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java Thu Jun 7 17:25:22 2012
@@ -725,6 +725,7 @@ public class HBaseAdmin implements Abort
*/
public void enableTableAsync(final byte [] tableName)
throws IOException {
+ HTableDescriptor.isLegalTableName(tableName);
execute(new MasterCallable<Void>() {
@Override
public Void call() throws ServiceException {
@@ -795,6 +796,7 @@ public class HBaseAdmin implements Abort
* @since 0.90.0
*/
public void disableTableAsync(final byte [] tableName) throws IOException {
+ HTableDescriptor.isLegalTableName(tableName);
execute(new MasterCallable<Void>() {
@Override
public Void call() throws ServiceException {
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=1347719&r1=1347718&r2=1347719&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 Thu Jun 7 17:25:22 2012
@@ -1588,6 +1588,21 @@ public class TestAdmin {
" HBase was not available");
}
+ @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();