@@ -213,6 +213,12 @@ public void testReadWriteTransactionAsyncAutoTagging() throws Exception {
213213 ExecuteSqlRequest sqlRequest = mockSpanner .getRequestsOfType (ExecuteSqlRequest .class ).get (0 );
214214 String transactionTag = sqlRequest .getRequestOptions ().getTransactionTag ();
215215 assertEquals ("TagTestHelper.runAsync" , transactionTag );
216+ assertEquals ("" , sqlRequest .getRequestOptions ().getRequestTag ());
217+
218+ // Verify transaction tag matches on CommitRequest
219+ assertEquals (1 , mockSpanner .countRequestsOfType (CommitRequest .class ));
220+ CommitRequest commitRequest = mockSpanner .getRequestsOfType (CommitRequest .class ).get (0 );
221+ assertEquals (transactionTag , commitRequest .getRequestOptions ().getTransactionTag ());
216222 }
217223 }
218224
@@ -296,6 +302,20 @@ public void testMultiUseReadOnlyTransactionAutoTagging() {
296302 "TagTestHelper.readOnlyTxnConsume" , sqlRequest .getRequestOptions ().getRequestTag ());
297303 assertEquals ("" , sqlRequest .getRequestOptions ().getTransactionTag ());
298304 }
305+
306+ mockSpanner .clearRequests ();
307+ try (Spanner spannerInstance = createSpanner (false , "com.example.spanner" )) {
308+ DatabaseClient databaseClient =
309+ spannerInstance .getDatabaseClient (DatabaseId .of ("proj" , "inst" , "db" ));
310+ try (ReadOnlyTransaction transaction = databaseClient .readOnlyTransaction ()) {
311+ TagTestHelper .readOnlyTxnConsume (transaction , Statement .of ("SELECT * FROM Albums" ));
312+ }
313+
314+ assertEquals (1 , mockSpanner .countRequestsOfType (ExecuteSqlRequest .class ));
315+ ExecuteSqlRequest sqlRequest = mockSpanner .getRequestsOfType (ExecuteSqlRequest .class ).get (0 );
316+ assertEquals ("" , sqlRequest .getRequestOptions ().getRequestTag ());
317+ assertEquals ("" , sqlRequest .getRequestOptions ().getTransactionTag ());
318+ }
299319 }
300320
301321 @ Test
0 commit comments