presto-thrift/src/main/java/io/prestosql/plugin/thrift/ThriftPageSource.java/ThriftPageSource/sendDataRequestInternal
class ThriftPageSource:    private CompletableFuture<PrestoThriftPageResult> sendDataRequestInternal()
    {
        long start = System.nanoTime();
        ListenableFuture<PrestoThriftPageResult> rowsBatchFuture = client.getRows(
                splitId,
                columnNames,
                maxBytesPerResponse,
                new PrestoThriftNullableToken(nextToken));
        rowsBatchFuture = catchingThriftException(rowsBatchFuture);
        rowsBatchFuture.addListener(() -> readTimeNanos.addAndGet(System.nanoTime() - start), directExecutor());
        return toCompletableFuture(nonCancellationPropagating(rowsBatchFuture));
    }