private CompletableFuture<Boolean> switchCompact(ServerName serverName, boolean onOrOff) {
    return this.<Boolean> newAdminCaller().serverName(serverName)
      .action((controller, stub) -> this.<CompactionSwitchRequest, CompactionSwitchResponse,
        Boolean> adminCall(controller, stub,
          CompactionSwitchRequest.newBuilder().setEnabled(onOrOff).build(),
          (s, c, req, done) -> s.compactionSwitch(c, req, done), resp -> resp.getPrevState()))
      .call();
  }
Get the region info for the passed region name. The region name may be a full region name or
encoded region name. If the region does not found, then it'll throw an UnknownRegionException
wrapped by a {@link CompletableFuture}
@return region info, wrapped by a {@link CompletableFuture}
hbase-client/src/main/java/org/apache/hadoop/hbase/client/RawAsyncHBaseAdmin.java