Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
  • Loading branch information
sakthivelmanii committed Nov 25, 2024
1 parent 19278d5 commit d9e3d9b
Showing 1 changed file with 31 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@
import com.google.spanner.v1.ListSessionsRequest;
import com.google.spanner.v1.ListSessionsResponse;
import com.google.spanner.v1.MultiplexedSessionPrecommitToken;
import com.google.spanner.v1.Mutation;
import com.google.spanner.v1.PartialResultSet;
import com.google.spanner.v1.Partition;
import com.google.spanner.v1.PartitionOptions;
Expand Down Expand Up @@ -645,14 +646,16 @@ private String generateSessionName(String database) {
return String.format("%s/sessions/%s", database, UUID.randomUUID().toString());
}

private ByteString generateTransactionName(String session) {
private ByteString generateTransactionName(String session, String mutationString) {
AtomicLong counter = transactionCounters.get(session);
if (counter == null) {
counter = new AtomicLong();
transactionCounters.put(session, counter);
}
transactionToTrace.put(
session, String.format("%s", Arrays.toString(Thread.currentThread().getStackTrace())));
session,
String.format(
"%s %s", mutationString, Arrays.toString(Thread.currentThread().getStackTrace())));
return ByteString.copyFromUtf8(
String.format("%s/transactions/%d", session, counter.incrementAndGet()));
}
Expand Down Expand Up @@ -1909,9 +1912,34 @@ public void beginTransaction(
}
}

private String getMutationString(Mutation mutation) {
StringBuilder sb = new StringBuilder();
try {
if (mutation.hasInsert()) {
for (ListValue listValue : mutation.getInsert().getValuesList()) {
sb.append(listValue.toString());
}
}
if (mutation.hasUpdate()) {
for (ListValue listValue : mutation.getUpdate().getValuesList()) {
sb.append(listValue.toString());
}
}
if (mutation.hasReplace()) {
for (ListValue listValue : mutation.getReplace().getValuesList()) {
sb.append(listValue.toString());
}
}
} catch (Exception e) {
sb.append(e.getMessage());
}
return sb.toString();
}

private Transaction beginTransaction(
Session session, TransactionOptions options, com.google.spanner.v1.Mutation mutationKey) {
ByteString transactionId = generateTransactionName(session.getName());
ByteString transactionId =
generateTransactionName(session.getName(), getMutationString(mutationKey));
Transaction.Builder builder = Transaction.newBuilder().setId(transactionId);
if (options != null && options.getModeCase() == ModeCase.READ_ONLY) {
setReadTimestamp(options, builder);
Expand Down

0 comments on commit d9e3d9b

Please sign in to comment.