CompletableFuture<ImmutableMap<ServerName, ClientMetaService.Interface>> getStubs() {
    ImmutableMap<ServerName, ClientMetaService.Interface> s = this.addr2Stub;
    if (s != null) {
      return CompletableFuture.completedFuture(s);
    }
    synchronized (this) {
      s = this.addr2Stub;
      if (s != null) {
        return CompletableFuture.completedFuture(s);
      }
      if (addr2StubFuture != null) {
        return addr2StubFuture;
      }
      return fetchClusterIdAndCreateStubs();
    }
  }
A class for creating {@link RpcClient} and related stubs used by
{@link AbstractRpcBasedConnectionRegistry}. We need to connect to bootstrap nodes to get the
cluster id first, before creating the final {@link RpcClient} and related stubs.
<p>
See HBASE-25051 for more details.
hbase-client/src/main/java/org/apache/hadoop/hbase/client/ConnectionRegistryRpcStubHolder.java