@@ -93,7 +93,9 @@ public void testPartitionQuery() {
93
93
assertFalse (resultSet .next ());
94
94
}
95
95
}
96
- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
96
+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
97
+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
98
+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
97
99
assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
98
100
} else {
99
101
assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -155,7 +157,9 @@ public void testMixNormalAndPartitionQueryInReadOnlyTransaction() {
155
157
readTimestamps .add (connection .getReadTimestamp ());
156
158
connection .commit ();
157
159
}
158
- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
160
+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
161
+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
162
+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
159
163
assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
160
164
} else {
161
165
assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -228,6 +232,10 @@ public void testRunPartition() {
228
232
if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
229
233
isMultiplexedSessionCreated = true ;
230
234
}
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 ));
231
239
} else {
232
240
assertEquals (
233
241
expectedCreateSessionsRPC ,
@@ -261,6 +269,7 @@ public void testRunPartitionUsingSql() {
261
269
String prefix = dialect == Dialect .POSTGRESQL ? "spanner." : "" ;
262
270
263
271
int maxPartitions = 5 ;
272
+ boolean isMultiplexedSessionCreated = false ;
264
273
try (Connection connection = createConnection ()) {
265
274
connection .execute (Statement .of ("set autocommit=true" ));
266
275
assertTrue (connection .isAutocommit ());
@@ -284,7 +293,6 @@ public void testRunPartitionUsingSql() {
284
293
assertFalse (resultSet .next ());
285
294
}
286
295
287
- boolean isMultiplexedSessionCreated = false ;
288
296
for (boolean useLiteral : new boolean [] {true , false }) {
289
297
try (ResultSet partitions =
290
298
connection .executeQuery (
@@ -328,6 +336,10 @@ public void testRunPartitionUsingSql() {
328
336
if (createSessionRequestCounts == expectedCreateSessionsRPC + 1 ) {
329
337
isMultiplexedSessionCreated = true ;
330
338
}
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 ));
331
343
} else {
332
344
assertEquals (
333
345
expectedCreateSessionsRPC ,
@@ -570,7 +582,9 @@ public void testRunPartitionedQueryUsingSql() {
570
582
assertEquals (maxPartitions * generatedRowCount , rowCount );
571
583
}
572
584
}
573
- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
585
+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
586
+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
587
+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
574
588
assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
575
589
} else {
576
590
assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -679,7 +693,9 @@ public void testRunPartitionedQueryWithMaxParallelism() {
679
693
assertEquals (maxPartitions * generatedRowCount , rowCount );
680
694
}
681
695
}
682
- if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
696
+ if (isMultiplexedSessionsEnabledForPartitionedOps (connection .getSpanner ())) {
697
+ assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
698
+ } else if (isMultiplexedSessionsEnabled (connection .getSpanner ())) {
683
699
assertEquals (6 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
684
700
} else {
685
701
assertEquals (5 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
@@ -758,7 +774,10 @@ public void testAutoPartitionMode() {
758
774
exception
759
775
.getMessage ()
760
776
.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 ())) {
762
781
assertEquals (3 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
763
782
} else {
764
783
assertEquals (2 , mockSpanner .countRequestsOfType (CreateSessionRequest .class ));
0 commit comments