@Override
  public CompletableFuture<Optional<Long>> getLastMajorCompactionTimestamp(TableName tableName) {
    MajorCompactionTimestampRequest request = MajorCompactionTimestampRequest.newBuilder()
      .setTableName(ProtobufUtil.toProtoTableName(tableName)).build();
    return this.<Optional<Long>> newMasterCaller()
      .action((controller, stub) -> this.<MajorCompactionTimestampRequest,
        MajorCompactionTimestampResponse, Optional<Long>> call(controller, stub, request,
          (s, c, req, done) -> s.getLastMajorCompactionTimestamp(c, req, done),
          ProtobufUtil::toOptionalTimestamp))
      .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