@@ -93,7 +93,9 @@ public void testPartitionQuery() {
9393 assertFalse (resultSet .next ());
9494 }
9595 }
96- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
96+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
97+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
98+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
9799 assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
98100 } else {
99101 assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -155,7 +157,9 @@ public void testMixNormalAndPartitionQueryInReadOnlyTransaction() {
155157 readTimestamps .add (connection .getReadTimestamp ());
156158 connection .commit ();
157159 }
158- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
160+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
161+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
162+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
159163 assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
160164 } else {
161165 assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -228,6 +232,10 @@ public void testRunPartition() {
228232 if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
229233 isMultiplexedSessionCreated = true ;
230234 }
235+ } else if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())
236+ && isMultiplexedSessionCreated ) {
237+ // When multiplexed session will be reused for each iteration.
238+ assertEquals (0 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
231239 } else {
232240 assertEquals (
233241 expectedCreateSessionsRPC ,
@@ -261,6 +269,7 @@ public void testRunPartitionUsingSql() {
261269 String prefix = dialect == Dialect .POSTGRESQL ? "spanner." : "" ;
262270
263271 int maxPartitions = 5 ;
272+ boolean isMultiplexedSessionCreated = false ;
264273 try (Connection connection = createConnection ()) {
265274 connection .execute (Statement .of ("set autocommit=true" ));
266275 assertTrue (connection .isAutocommit ());
@@ -284,7 +293,6 @@ public void testRunPartitionUsingSql() {
284293 assertFalse (resultSet .next ());
285294 }
286295
287- boolean isMultiplexedSessionCreated = false ;
288296 for (boolean useLiteral : new boolean [] {true , false }) {
289297 try (ResultSet partitions =
290298 connection .executeQuery (
@@ -328,6 +336,10 @@ public void testRunPartitionUsingSql() {
328336 if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
329337 isMultiplexedSessionCreated = true ;
330338 }
339+ } else if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())
340+ && isMultiplexedSessionCreated ) {
341+ // When multiplexed session will be reused for each iteration.
342+ assertEquals (0 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
331343 } else {
332344 assertEquals (
333345 expectedCreateSessionsRPC ,
@@ -570,7 +582,9 @@ public void testRunPartitionedQueryUsingSql() {
570582 assertEquals (maxPartitions * generatedRowCount , rowCount );
571583 }
572584 }
573- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
585+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
586+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
587+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
574588 assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
575589 } else {
576590 assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -679,7 +693,9 @@ public void testRunPartitionedQueryWithMaxParallelism() {
679693 assertEquals (maxPartitions * generatedRowCount , rowCount );
680694 }
681695 }
682- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
696+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
697+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
698+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
683699 assertEquals (6 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
684700 } else {
685701 assertEquals (5 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -758,7 +774,10 @@ public void testAutoPartitionMode() {
758774 exception
759775 .getMessage ()
760776 .contains ("Partition query is not supported for read/write transaction" ));
761- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
777+
778+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
779+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
780+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
762781 assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
763782 } else {
764783 assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
0 commit comments