@@ -93,11 +93,7 @@ public void testPartitionQuery() {
9393 assertFalse (resultSet .next ());
9494 }
9595 }
96- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
97- assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
98- } else {
99- assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
100- }
96+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
10197 }
10298 assertEquals (2 , mockSpanner .countRequestsOfType (BeginTransactionRequest .class ));
10399 assertEquals (2 , mockSpanner .countRequestsOfType (PartitionQueryRequest .class ));
@@ -155,11 +151,7 @@ public void testMixNormalAndPartitionQueryInReadOnlyTransaction() {
155151 readTimestamps .add (connection .getReadTimestamp ());
156152 connection .commit ();
157153 }
158- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
159- assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
160- } else {
161- assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
162- }
154+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
163155 }
164156 // The above will start two transactions:
165157 // 1. The initial 'normal' read-only transaction.
@@ -228,6 +220,10 @@ public void testRunPartition() {
228220 if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
229221 isMultiplexedSessionCreated = true ;
230222 }
223+ } else if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())
224+ && isMultiplexedSessionCreated ) {
225+ // When multiplexed session will be reused for each iteration.
226+ assertEquals (0 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
231227 } else {
232228 assertEquals (
233229 expectedCreateSessionsRPC ,
@@ -261,6 +257,7 @@ public void testRunPartitionUsingSql() {
261257 String prefix = dialect == Dialect .POSTGRESQL ? "spanner." : "" ;
262258
263259 int maxPartitions = 5 ;
260+ boolean isMultiplexedSessionCreated = false ;
264261 try (Connection connection = createConnection ()) {
265262 connection .execute (Statement .of ("set autocommit=true" ));
266263 assertTrue (connection .isAutocommit ());
@@ -284,7 +281,6 @@ public void testRunPartitionUsingSql() {
284281 assertFalse (resultSet .next ());
285282 }
286283
287- boolean isMultiplexedSessionCreated = false ;
288284 for (boolean useLiteral : new boolean [] {true , false }) {
289285 try (ResultSet partitions =
290286 connection .executeQuery (
@@ -328,6 +324,10 @@ public void testRunPartitionUsingSql() {
328324 if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
329325 isMultiplexedSessionCreated = true ;
330326 }
327+ } else if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())
328+ && isMultiplexedSessionCreated ) {
329+ // When multiplexed session will be reused for each iteration.
330+ assertEquals (0 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
331331 } else {
332332 assertEquals (
333333 expectedCreateSessionsRPC ,
@@ -570,11 +570,7 @@ public void testRunPartitionedQueryUsingSql() {
570570 assertEquals (maxPartitions * generatedRowCount , rowCount );
571571 }
572572 }
573- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
574- assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
575- } else {
576- assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
577- }
573+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
578574 }
579575 // We have 2 requests of each, as we run the query with data boost both enabled and disabled.
580576 assertEquals (2 , mockSpanner .countRequestsOfType (BeginTransactionRequest .class ));
@@ -679,8 +675,8 @@ public void testRunPartitionedQueryWithMaxParallelism() {
679675 assertEquals (maxPartitions * generatedRowCount , rowCount );
680676 }
681677 }
682- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
683- assertEquals (6 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
678+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
679+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
684680 } else {
685681 assertEquals (5 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
686682 }
@@ -758,11 +754,8 @@ public void testAutoPartitionMode() {
758754 exception
759755 .getMessage ()
760756 .contains ("Partition query is not supported for read/write transaction" ));
761- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
762- assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
763- } else {
764- assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
765- }
757+
758+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
766759 }
767760 assertEquals (2 , mockSpanner .countRequestsOfType (BeginTransactionRequest .class ));
768761 assertEquals (2 , mockSpanner .countRequestsOfType (PartitionQueryRequest .class ));
0 commit comments