HBASE-22101 AsyncAdmin.isTableAvailable should not throw TableNotFoundException
Signed-off-by: zhangduo <zhangduo@apache.org>
This commit is contained in:
parent
674921f1f4
commit
0c882100d4
|
@ -647,7 +647,11 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
|
||||||
CompletableFuture<Boolean> future = new CompletableFuture<>();
|
CompletableFuture<Boolean> future = new CompletableFuture<>();
|
||||||
addListener(isTableEnabled(tableName), (enabled, error) -> {
|
addListener(isTableEnabled(tableName), (enabled, error) -> {
|
||||||
if (error != null) {
|
if (error != null) {
|
||||||
future.completeExceptionally(error);
|
if (error instanceof TableNotFoundException) {
|
||||||
|
future.complete(false);
|
||||||
|
} else {
|
||||||
|
future.completeExceptionally(error);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!enabled) {
|
if (!enabled) {
|
||||||
|
|
|
@ -453,4 +453,11 @@ public class TestAsyncTableAdminApi extends TestAsyncAdminBase {
|
||||||
assertTrue(e.getCause() instanceof TableExistsException);
|
assertTrue(e.getCause() instanceof TableExistsException);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testIsTableAvailableWithInexistantTable() throws Exception {
|
||||||
|
final TableName newTableName = TableName.valueOf(tableName.getNameAsString() + "_new");
|
||||||
|
// test for inexistant table
|
||||||
|
assertFalse(admin.isTableAvailable(newTableName).get());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue