in grpc-gcp-benchmarks/src/benchmarkTest/java/SpannerClientV1TestCases.java [101:168]
void prepareTestData() throws InterruptedException {
int columnBytes = Integer.min(payload, MAX_SIZE_PER_COLUMN);
int rows = (payload - 1) / columnBytes + 1;
char[] charArray = new char[columnBytes];
Arrays.fill(charArray, 'z');
String colContent = new String(charArray);
SpannerClient client = getClient();
Session session =
client.createSession(CreateSessionRequest.newBuilder().setDatabase(database).build());
long start = System.currentTimeMillis();
// Clean the existing data.
BeginTransactionRequest request =
BeginTransactionRequest.newBuilder()
.setSession(session.getName())
.setOptions(
TransactionOptions.newBuilder()
.setReadWrite(TransactionOptions.ReadWrite.getDefaultInstance())
.build())
.build();
Transaction txn = client.beginTransaction(request);
client.commit(
CommitRequest.newBuilder()
.addMutations(
Mutation.newBuilder()
.setDelete(
Mutation.Delete.newBuilder()
.setTable(LARGE_TABLE)
.setKeySet(KeySet.newBuilder().setAll(true).build())
.build())
.build())
.setSession(session.getName())
.setTransactionId(txn.getId())
.build());
System.out.println(
String.format(
"\nDeleted the previous large_table in %d ms.", System.currentTimeMillis() - start));
// Add the payload data.
start = System.currentTimeMillis();
for (int i = 0; i < rows; i++) {
txn = client.beginTransaction(request);
client.commit(
CommitRequest.newBuilder()
.addMutations(
Mutation.newBuilder()
.setInsertOrUpdate(
Mutation.Write.newBuilder()
.addColumns("id")
.addColumns("data")
.addValues(
ListValue.newBuilder()
.addValues(Value.newBuilder().setStringValue("payload" + i))
.addValues(Value.newBuilder().setStringValue(colContent))
.build())
.setTable(LARGE_TABLE)
.build())
.build())
.setSession(session.getName())
.setTransactionId(txn.getId())
.build());
}
System.out.println(
String.format(
"Successfully added ColumnBytes: %d, Rows: %d to large_table in %d ms.",
columnBytes, rows, System.currentTimeMillis() - start));
cleanUpClient(client, session.getName());
}