public AsyncClusterConnection getAsyncConnection() throws IOException {
    try {
      return asyncConnection.updateAndGet(connection -> {
        if (connection == null) {
          try {
            User user = UserProvider.instantiate(conf).getCurrent();
            connection = getAsyncConnection(user);
          } catch (IOException ioe) {
            throw new UncheckedIOException("Failed to create connection", ioe);
          }
        }
        return connection;
      });
    } catch (UncheckedIOException exception) {
      throw exception.getCause();
    }
  }
Get a shared AsyncClusterConnection to the cluster. this method is thread safe.
@return An AsyncClusterConnection that can be shared. Don't close. Will be closed on shutdown
        of cluster.
hbase-server/src/test/java/org/apache/hadoop/hbase/HBaseTestingUtil.java