in grpc-gcp-benchmarks/src/benchmarkTest/java/SpannerTestCases.java [313:338]
void testPartitionQueryAsync() throws InterruptedException {
System.out.println("\nTestPartitionQueryAsync");
ManagedChannel channel = getChannel();
SpannerStub stub = getStub(channel);
AsyncResponseObserver<Session> sessionObs = new AsyncResponseObserver<>();
stub.createSession(CreateSessionRequest.newBuilder().setDatabase(database).build(), sessionObs);
TransactionOptions options =
TransactionOptions.newBuilder()
.setReadOnly(TransactionOptions.ReadOnly.getDefaultInstance())
.build();
TransactionSelector selector = TransactionSelector.newBuilder().setBegin(options).build();
PartitionQueryRequest request =
PartitionQueryRequest.newBuilder()
.setSession(sessionObs.get().getName())
.setSql("select * FROM " + LARGE_TABLE)
.setTransaction(selector)
.build();
AsyncCall<PartitionQueryRequest, PartitionResponse> asyncCall =
(PartitionQueryRequest req, AsyncResponseObserver<PartitionResponse> resp) ->
stub.partitionQuery(req, resp);
doTestAsync(channel, request, asyncCall);
deleteAndCloseAsync(stub, channel, sessionObs.get().getName());
}