void prepareTestData()

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());
  }