@@ -147,7 +147,7 @@ public class OpenTelemetrySpanTest {
147147 "Commit Done" ,
148148 "Transaction Attempt Succeeded" );
149149
150- private int expectedReadWriteTransactionCount = 7 ;
150+ private int expectedReadWriteTransactionEventsCount = 7 ;
151151 private List <String > expectedReadWriteTransactionErrorWithBeginTransactionEvents =
152152 ImmutableList .of (
153153 "Acquiring session" ,
@@ -238,6 +238,7 @@ public void setUp() throws Exception {
238238 SessionPoolOptions .newBuilder ()
239239 .setMinSessions (2 )
240240 .setWaitForMinSessionsDuration (Duration .ofSeconds (10 ))
241+ .setSkipVerifyingBeginTransactionForMuxRW (true )
241242 .build ());
242243
243244 spanner = builder .build ().getService ();
@@ -450,6 +451,17 @@ public void transactionRunner() {
450451 "CloudSpannerOperation.Commit" ,
451452 "CloudSpannerOperation.BatchCreateSessions" ,
452453 "CloudSpanner.ReadWriteTransaction" );
454+
455+ if (isMultiplexedSessionsEnabledForRW ()) {
456+ expectedReadWriteTransactionEvents =
457+ ImmutableList .of (
458+ "Starting Transaction Attempt" ,
459+ "Starting Commit" ,
460+ "Commit Done" ,
461+ "Transaction Attempt Succeeded" );
462+ expectedReadWriteTransactionEventsCount = 4 ;
463+ }
464+
453465 DatabaseClient client = getClient ();
454466 TransactionRunner runner = client .readWriteTransaction ();
455467 runner .run (transaction -> transaction .executeUpdate (UPDATE_STATEMENT ));
@@ -494,7 +506,7 @@ public void transactionRunner() {
494506 verifyRequestEvents (
495507 spanItem ,
496508 expectedReadWriteTransactionEvents ,
497- expectedReadWriteTransactionCount );
509+ expectedReadWriteTransactionEventsCount );
498510 break ;
499511 default :
500512 assert false ;
@@ -519,6 +531,16 @@ public void transactionRunnerWithError() {
519531 "CloudSpannerOperation.BatchCreateSessions" ,
520532 "CloudSpannerOperation.ExecuteUpdate" ,
521533 "CloudSpanner.ReadWriteTransaction" );
534+
535+ if (isMultiplexedSessionsEnabledForRW ()) {
536+ expectedReadWriteTransactionErrorEvents =
537+ ImmutableList .of (
538+ "Starting Transaction Attempt" ,
539+ "Transaction Attempt Failed in user operation" ,
540+ "exception" );
541+ expectedReadWriteTransactionErrorEventsCount = 3 ;
542+ }
543+
522544 DatabaseClient client = getClient ();
523545 TransactionRunner runner = client .readWriteTransaction ();
524546 SpannerException e =
@@ -579,6 +601,18 @@ public void transactionRunnerWithFailedAndBeginTransaction() {
579601 "CloudSpannerOperation.Commit" ,
580602 "CloudSpannerOperation.BatchCreateSessions" ,
581603 "CloudSpanner.ReadWriteTransaction" );
604+ if (isMultiplexedSessionsEnabledForRW ()) {
605+ expectedReadWriteTransactionErrorWithBeginTransactionEvents =
606+ ImmutableList .of (
607+ "Starting Transaction Attempt" ,
608+ "Transaction Attempt Aborted in user operation. Retrying" ,
609+ "Creating Transaction" ,
610+ "Transaction Creation Done" ,
611+ "Starting Commit" ,
612+ "Commit Done" ,
613+ "Transaction Attempt Succeeded" );
614+ expectedReadWriteTransactionErrorWithBeginTransactionEventsCount = 8 ;
615+ }
582616 DatabaseClient client = getClient ();
583617 assertEquals (
584618 Long .valueOf (1L ),
@@ -837,4 +871,11 @@ private boolean isMultiplexedSessionsEnabled() {
837871 }
838872 return spanner .getOptions ().getSessionPoolOptions ().getUseMultiplexedSession ();
839873 }
874+
875+ private boolean isMultiplexedSessionsEnabledForRW () {
876+ if (spanner .getOptions () == null || spanner .getOptions ().getSessionPoolOptions () == null ) {
877+ return false ;
878+ }
879+ return spanner .getOptions ().getSessionPoolOptions ().getUseMultiplexedSessionForRW ();
880+ }
840881}
0 commit comments