in cloudprober/src/main/java/com/google/grpc/cloudprober/SpannerProbes.java [210:244]
public static void transactionProber(
SpannerGrpc.SpannerBlockingStub stub) {
Session session = null;
try {
session = stub.createSession(CreateSessionRequest.newBuilder().setDatabase(DATABASE).build());
// Probing begin transaction call.
TransactionOptions options =
TransactionOptions.newBuilder()
.setReadWrite(TransactionOptions.ReadWrite.getDefaultInstance())
.build();
BeginTransactionRequest request =
BeginTransactionRequest.newBuilder()
.setSession(session.getName())
.setOptions(options)
.build();
Transaction txn = stub.beginTransaction(request);
// Probing commit call.
stub.commit(
CommitRequest.newBuilder()
.setSession(session.getName())
.setTransactionId(txn.getId())
.build());
// Probing rollback call.
txn = stub.beginTransaction(request);
stub.rollback(
RollbackRequest.newBuilder()
.setSession(session.getName())
.setTransactionId(txn.getId())
.build());
} finally {
deleteSession(stub, session);
}
}