@@ -150,7 +150,7 @@ public class OpenTelemetrySpanTest {
150150 "Commit Done" ,
151151 "Transaction Attempt Succeeded" );
152152
153- private int expectedReadWriteTransactionCount = 7 ;
153+ private int expectedReadWriteTransactionEventsCount = 7 ;
154154 private List <String > expectedReadWriteTransactionErrorWithBeginTransactionEvents =
155155 ImmutableList .of (
156156 "Acquiring session" ,
@@ -244,6 +244,7 @@ public void setUp() throws Exception {
244244 SessionPoolOptions .newBuilder ()
245245 .setMinSessions (2 )
246246 .setWaitForMinSessionsDuration (Duration .ofSeconds (10 ))
247+ .setSkipVerifyingBeginTransactionForMuxRW (true )
247248 .build ());
248249
249250 spanner = builder .build ().getService ();
@@ -458,6 +459,16 @@ public void transactionRunner() {
458459 "CloudSpannerOperation.Commit" ,
459460 "CloudSpannerOperation.BatchCreateSessions" ,
460461 "CloudSpanner.ReadWriteTransaction" );
462+
463+ if (isMultiplexedSessionsEnabledForRW ()) {
464+ expectedReadWriteTransactionEvents =
465+ ImmutableList .of (
466+ "Starting Transaction Attempt" ,
467+ "Starting Commit" ,
468+ "Commit Done" ,
469+ "Transaction Attempt Succeeded" );
470+ expectedReadWriteTransactionEventsCount = 4 ;
471+ }
461472 DatabaseClient client = getClient ();
462473 TransactionRunner runner = client .readWriteTransaction ();
463474 runner .run (transaction -> transaction .executeUpdate (UPDATE_STATEMENT ));
@@ -502,7 +513,7 @@ public void transactionRunner() {
502513 verifyRequestEvents (
503514 spanItem ,
504515 expectedReadWriteTransactionEvents ,
505- expectedReadWriteTransactionCount );
516+ expectedReadWriteTransactionEventsCount );
506517 verifyCommonAttributes (spanItem );
507518 break ;
508519 default :
@@ -528,6 +539,14 @@ public void transactionRunnerWithError() {
528539 "CloudSpannerOperation.BatchCreateSessions" ,
529540 "CloudSpannerOperation.ExecuteUpdate" ,
530541 "CloudSpanner.ReadWriteTransaction" );
542+ if (isMultiplexedSessionsEnabledForRW ()) {
543+ expectedReadWriteTransactionErrorEvents =
544+ ImmutableList .of (
545+ "Starting Transaction Attempt" ,
546+ "Transaction Attempt Failed in user operation" ,
547+ "exception" );
548+ expectedReadWriteTransactionErrorEventsCount = 3 ;
549+ }
531550 DatabaseClient client = getClient ();
532551 TransactionRunner runner = client .readWriteTransaction ();
533552 SpannerException e =
@@ -589,6 +608,18 @@ public void transactionRunnerWithFailedAndBeginTransaction() {
589608 "CloudSpannerOperation.Commit" ,
590609 "CloudSpannerOperation.BatchCreateSessions" ,
591610 "CloudSpanner.ReadWriteTransaction" );
611+ if (isMultiplexedSessionsEnabledForRW ()) {
612+ expectedReadWriteTransactionErrorWithBeginTransactionEvents =
613+ ImmutableList .of (
614+ "Starting Transaction Attempt" ,
615+ "Transaction Attempt Aborted in user operation. Retrying" ,
616+ "Creating Transaction" ,
617+ "Transaction Creation Done" ,
618+ "Starting Commit" ,
619+ "Commit Done" ,
620+ "Transaction Attempt Succeeded" );
621+ expectedReadWriteTransactionErrorWithBeginTransactionEventsCount = 8 ;
622+ }
592623 DatabaseClient client = getClient ();
593624 assertEquals (
594625 Long .valueOf (1L ),
@@ -892,4 +923,11 @@ private boolean isMultiplexedSessionsEnabled() {
892923 }
893924 return spanner .getOptions ().getSessionPoolOptions ().getUseMultiplexedSession ();
894925 }
926+
927+ private boolean isMultiplexedSessionsEnabledForRW () {
928+ if (spanner .getOptions () == null || spanner .getOptions ().getSessionPoolOptions () == null ) {
929+ return false ;
930+ }
931+ return spanner .getOptions ().getSessionPoolOptions ().getUseMultiplexedSessionForRW ();
932+ }
895933}
0 commit comments