You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by zh...@apache.org on 2019/03/30 12:52:54 UTC
[hbase] branch master updated: HBASE-22101
AsyncAdmin.isTableAvailable should not throw TableNotFoundException
This is an automated email from the ASF dual-hosted git repository.
zhangduo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/master by this push:
new 51dda38 HBASE-22101 AsyncAdmin.isTableAvailable should not throw TableNotFoundException
51dda38 is described below
commit 51dda380a6dd0fce0edddb5856bcdb107821cdf9
Author: pingsutw <pi...@gmail.com>
AuthorDate: Wed Mar 27 03:17:01 2019 +0800
HBASE-22101 AsyncAdmin.isTableAvailable should not throw TableNotFoundException
Signed-off-by: zhangduo <zh...@apache.org>
---
.../java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java | 6 +++++-
.../org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java | 7 +++++++
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
index d92923c..77e1423 100644
--- a/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
+++ b/hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java
@@ -696,7 +696,11 @@ class RawAsyncHBaseAdmin implements AsyncAdmin {
CompletableFuture<Boolean> future = new CompletableFuture<>();
addListener(isTableEnabled(tableName), (enabled, error) -> {
if (error != null) {
- future.completeExceptionally(error);
+ if (error instanceof TableNotFoundException) {
+ future.complete(false);
+ } else {
+ future.completeExceptionally(error);
+ }
return;
}
if (!enabled) {
diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java
index e1eaca7..1f62731 100644
--- a/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java
+++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.java
@@ -453,4 +453,11 @@ public class TestAsyncTableAdminApi extends TestAsyncAdminBase {
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());
+ }
}