Skip to content

Commit 1234447

Browse files
authored
chore(spanner): support multiplexed session for rw transactions in ex… (#3471)
* chore(spanner): support multiplexed session for rw transactions in executor * chore(spanner): lint fix
1 parent 8a7d533 commit 1234447

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

google-cloud-spanner-executor/src/main/java/com/google/cloud/executor/spanner/CloudClientExecutor.java

+8-3
Original file line numberDiff line numberDiff line change
@@ -829,10 +829,15 @@ private synchronized Spanner getClient(long timeoutSeconds, boolean useMultiplex
829829

830830
com.google.cloud.spanner.SessionPoolOptions.Builder poolOptionsBuilder =
831831
com.google.cloud.spanner.SessionPoolOptions.newBuilder();
832-
SessionPoolOptionsHelper.setUseMultiplexedSession(
833-
com.google.cloud.spanner.SessionPoolOptions.newBuilder(), useMultiplexedSession);
832+
SessionPoolOptionsHelper.setUseMultiplexedSession(poolOptionsBuilder, useMultiplexedSession);
834833
SessionPoolOptionsHelper.setUseMultiplexedSessionBlindWrite(
835-
com.google.cloud.spanner.SessionPoolOptions.newBuilder(), useMultiplexedSession);
834+
poolOptionsBuilder, useMultiplexedSession);
835+
SessionPoolOptionsHelper.setUseMultiplexedSessionForRW(
836+
poolOptionsBuilder, useMultiplexedSession);
837+
LOGGER.log(
838+
Level.INFO,
839+
String.format(
840+
"Using multiplexed sessions for read-write transactions: %s", useMultiplexedSession));
836841
com.google.cloud.spanner.SessionPoolOptions sessionPoolOptions = poolOptionsBuilder.build();
837842
// Cloud Spanner Client does not support global retry settings,
838843
// Thus, we need to add retry settings to each individual stub.

google-cloud-spanner-executor/src/main/java/com/google/cloud/spanner/SessionPoolOptionsHelper.java

+6
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,10 @@ public static SessionPoolOptions.Builder setUseMultiplexedSessionBlindWrite(
3838
return sessionPoolOptionsBuilder.setUseMultiplexedSessionBlindWrite(
3939
useMultiplexedSessionBlindWrite);
4040
}
41+
42+
// TODO: Remove when multiplexed session for read write is released.
43+
public static SessionPoolOptions.Builder setUseMultiplexedSessionForRW(
44+
SessionPoolOptions.Builder sessionPoolOptionsBuilder, boolean useMultiplexedSessionForRW) {
45+
return sessionPoolOptionsBuilder.setUseMultiplexedSessionForRW(useMultiplexedSessionForRW);
46+
}
4147
}

0 commit comments

Comments
 (0)