HBASE-9462 HBaseAdmin#isTableEnabled() should throw exception for non-existent table
git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1522010 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f29b448419
commit
e52a38d501
|
@ -1001,12 +1001,23 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
return failed.toArray(new HTableDescriptor[failed.size()]);
|
return failed.toArray(new HTableDescriptor[failed.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Checks whether table exists. If not, throws TableNotFoundException
|
||||||
|
* @param tableName
|
||||||
|
*/
|
||||||
|
private void checkTableExistence(TableName tableName) throws IOException {
|
||||||
|
if (!tableExists(tableName)) {
|
||||||
|
throw new TableNotFoundException(tableName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param tableName name of table to check
|
* @param tableName name of table to check
|
||||||
* @return true if table is on-line
|
* @return true if table is on-line
|
||||||
* @throws IOException if a remote or network exception occurs
|
* @throws IOException if a remote or network exception occurs
|
||||||
*/
|
*/
|
||||||
public boolean isTableEnabled(TableName tableName) throws IOException {
|
public boolean isTableEnabled(TableName tableName) throws IOException {
|
||||||
|
checkTableExistence(tableName);
|
||||||
return connection.isTableEnabled(tableName);
|
return connection.isTableEnabled(tableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1026,6 +1037,7 @@ public class HBaseAdmin implements Abortable, Closeable {
|
||||||
* @throws IOException if a remote or network exception occurs
|
* @throws IOException if a remote or network exception occurs
|
||||||
*/
|
*/
|
||||||
public boolean isTableDisabled(TableName tableName) throws IOException {
|
public boolean isTableDisabled(TableName tableName) throws IOException {
|
||||||
|
checkTableExistence(tableName);
|
||||||
return connection.isTableDisabled(tableName);
|
return connection.isTableDisabled(tableName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1709,6 +1709,21 @@ public class TestAdmin {
|
||||||
TEST_UTIL.getHBaseAdmin().createTable(htd);
|
TEST_UTIL.getHBaseAdmin().createTable(htd);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsEnabledOrDisabledOnUnknownTable() throws Exception {
|
||||||
|
try {
|
||||||
|
admin.isTableEnabled(Bytes.toBytes("unkownTable"));
|
||||||
|
fail("Test should fail if isTableEnabled called on unknown table.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
admin.isTableDisabled(Bytes.toBytes("unkownTable"));
|
||||||
|
fail("Test should fail if isTableDisabled called on unknown table.");
|
||||||
|
} catch (IOException e) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Test (timeout=300000)
|
@Test (timeout=300000)
|
||||||
public void testGetRegion() throws Exception {
|
public void testGetRegion() throws Exception {
|
||||||
final String name = "testGetRegion";
|
final String name = "testGetRegion";
|
||||||
|
|
Loading…
Reference in New Issue