public static CompletableFuture<Optional<TableState>> getTableState(AsyncTable<?> metaTable,
    TableName tableName) {
    CompletableFuture<Optional<TableState>> future = new CompletableFuture<>();
    Get get = new Get(tableName.getName()).addColumn(HConstants.TABLE_FAMILY,
      HConstants.TABLE_STATE_QUALIFIER);
    addListener(metaTable.get(get), (result, error) -> {
      if (error != null) {
        future.completeExceptionally(error);
        return;
      }
      try {
        future.complete(getTableState(result));
      } catch (IOException e) {
        future.completeExceptionally(e);
      }
    });
    return future;
  }
The (asynchronous) meta table accessor used at client side. Used to read/write region and
assignment information store in <code>hbase:meta</code>.
@since 2.0.0
@see CatalogFamilyFormat
hbase-client/src/main/java/org/apache/hadoop/hbase/ClientMetaTableAccessor.java