@@ -2920,16 +2920,16 @@ public void testPartitionedDmlDoesNotTimeout() {
2920
2920
XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
2921
2921
XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2922
2922
"google.spanner.v1.Spanner/BatchCreateSessions" ,
2923
- new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .UNNECESSARY , 1 )),
2923
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2924
2924
XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2925
2925
"google.spanner.v1.Spanner/BatchCreateSessions" ,
2926
- new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .UNNECESSARY , 1 )),
2926
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2927
2927
XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2928
2928
"google.spanner.v1.Spanner/BatchCreateSessions" ,
2929
- new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .UNNECESSARY , 1 )),
2929
+ new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2930
2930
XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2931
2931
"google.spanner.v1.Spanner/BatchCreateSessions" ,
2932
- new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .UNNECESSARY , 1 )),
2932
+ new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2933
2933
XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2934
2934
"google.spanner.v1.Spanner/BeginTransaction" ,
2935
2935
new XGoogSpannerRequestId (dbId , channelId , 6 , 1 )),
@@ -2972,6 +2972,36 @@ public void testPartitionedDmlWithLowerTimeout() {
2972
2972
.readWriteTransaction ()
2973
2973
.run (transaction -> transaction .executeUpdate (UPDATE_STATEMENT ));
2974
2974
assertThat (updateCount ).isEqualTo (UPDATE_COUNT );
2975
+
2976
+ DatabaseClientImpl dbImpl = ((DatabaseClientImpl ) client );
2977
+ int channelId = dbImpl .getSession ().getChannel ();
2978
+ int dbId = dbImpl .dbId ;
2979
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {};
2980
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
2981
+
2982
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
2983
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2984
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
2985
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2986
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2987
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
2988
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2989
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2990
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
2991
+ new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2992
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2993
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
2994
+ new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
2995
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2996
+ "google.spanner.v1.Spanner/BeginTransaction" ,
2997
+ new XGoogSpannerRequestId (dbId , channelId , 6 , 1 )),
2998
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
2999
+ "google.spanner.v1.Spanner/Commit" , new XGoogSpannerRequestId (dbId , channelId , 8 , 1 )),
3000
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3001
+ "google.spanner.v1.Spanner/ExecuteSql" ,
3002
+ new XGoogSpannerRequestId (dbId , channelId , 7 , 1 )),
3003
+ };
3004
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
2975
3005
}
2976
3006
}
2977
3007
@@ -3020,6 +3050,39 @@ public void testPartitionedDmlWithHigherTimeout() {
3020
3050
.run (transaction -> transaction .executeUpdate (UPDATE_STATEMENT )));
3021
3051
assertThat (e .getErrorCode ()).isEqualTo (ErrorCode .DEADLINE_EXCEEDED );
3022
3052
assertThat (updateCount ).isEqualTo (UPDATE_COUNT );
3053
+
3054
+ DatabaseClientImpl dbImpl = ((DatabaseClientImpl ) client );
3055
+ int channelId = dbImpl .getSession ().getChannel ();
3056
+ int dbId = dbImpl .dbId ;
3057
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {
3058
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3059
+ "google.spanner.v1.Spanner/ExecuteStreamingSql" ,
3060
+ new XGoogSpannerRequestId (dbId , channelId , 5 , 1 )),
3061
+ };
3062
+
3063
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
3064
+
3065
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
3066
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3067
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3068
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3069
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3070
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3071
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3072
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3073
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3074
+ new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3075
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3076
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3077
+ new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3078
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3079
+ "google.spanner.v1.Spanner/BeginTransaction" ,
3080
+ new XGoogSpannerRequestId (dbId , channelId , 6 , 1 )),
3081
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3082
+ "google.spanner.v1.Spanner/ExecuteSql" ,
3083
+ new XGoogSpannerRequestId (dbId , channelId , 7 , 1 )),
3084
+ };
3085
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
3023
3086
}
3024
3087
}
3025
3088
@@ -3037,6 +3100,36 @@ public void testPartitionedDmlRetriesOnUnavailable() {
3037
3100
spanner .getDatabaseClient (DatabaseId .of (TEST_PROJECT , TEST_INSTANCE , TEST_DATABASE ));
3038
3101
long updateCount = client .executePartitionedUpdate (UPDATE_STATEMENT );
3039
3102
assertThat (updateCount ).isEqualTo (UPDATE_COUNT );
3103
+
3104
+ DatabaseClientImpl dbImpl = ((DatabaseClientImpl ) client );
3105
+ int channelId = dbImpl .getSession ().getChannel ();
3106
+ int dbId = dbImpl .dbId ;
3107
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {
3108
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3109
+ "google.spanner.v1.Spanner/ExecuteStreamingSql" ,
3110
+ new XGoogSpannerRequestId (dbId , channelId , 5 , 1 )),
3111
+ };
3112
+
3113
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
3114
+
3115
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
3116
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3117
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3118
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3119
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3120
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3121
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3122
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3123
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3124
+ new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3125
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3126
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3127
+ new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3128
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3129
+ "google.spanner.v1.Spanner/BeginTransaction" ,
3130
+ new XGoogSpannerRequestId (dbId , channelId , 6 , 1 )),
3131
+ };
3132
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
3040
3133
}
3041
3134
}
3042
3135
@@ -3444,6 +3537,31 @@ public void testNestedTransactionsUsingTwoDatabases() throws InterruptedExceptio
3444
3537
// All sessions should now be checked back in to the pools.
3445
3538
assertThat (client1 .pool .getNumberOfSessionsInPool ()).isEqualTo (minSessions );
3446
3539
assertThat (client2 .pool .getNumberOfSessionsInPool ()).isEqualTo (minSessions );
3540
+
3541
+ int channelId = client1 .getSession ().getChannel ();
3542
+ int dbId = client1 .dbId ;
3543
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {};
3544
+
3545
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
3546
+
3547
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
3548
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3549
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3550
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3551
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3552
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3553
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3554
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3555
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3556
+ new XGoogSpannerRequestId (dbId , 2 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3557
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3558
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
3559
+ new XGoogSpannerRequestId (dbId , 3 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
3560
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
3561
+ "google.spanner.v1.Spanner/BeginTransaction" ,
3562
+ new XGoogSpannerRequestId (dbId , channelId , 6 , 1 )),
3563
+ };
3564
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
3447
3565
}
3448
3566
3449
3567
@ Test
@@ -5172,7 +5290,6 @@ public <ReqT, RespT> ApiCallContext configure(
5172
5290
5173
5291
@ Test
5174
5292
public void testRetryOnResourceExhausted () {
5175
- // MARK: Retries here.
5176
5293
final RetrySettings retrySettings =
5177
5294
RetrySettings .newBuilder ()
5178
5295
.setInitialRpcTimeoutDuration (Duration .ofSeconds (60L ))
@@ -5255,6 +5372,26 @@ public void testRetryOnResourceExhausted() {
5255
5372
}
5256
5373
}
5257
5374
5375
+ DatabaseClientImpl dbClient = (DatabaseClientImpl ) client ;
5376
+ int channelId = dbClient .getSession ().getChannel ();
5377
+ int dbId = dbClient .dbId ;
5378
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {
5379
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
5380
+ "google.spanner.v1.Spanner/ExecuteStreamingSql" ,
5381
+ new XGoogSpannerRequestId (dbId , 1 , 5 , 1 )),
5382
+ };
5383
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
5384
+
5385
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
5386
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
5387
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
5388
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
5389
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
5390
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
5391
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
5392
+ };
5393
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
5394
+
5258
5395
xGoogReqIdInterceptor .assertIntegrity ();
5259
5396
}
5260
5397
}
@@ -5319,7 +5456,8 @@ public void testSessionPoolExhaustedError_containsStackTraces() {
5319
5456
spannerException .getMessage (),
5320
5457
spannerException .getMessage ().contains ("Session was checked out from the pool at" ));
5321
5458
5322
- SessionPool pool = ((DatabaseClientImpl ) client ).pool ;
5459
+ DatabaseClientImpl dbClient = (DatabaseClientImpl ) client ;
5460
+ SessionPool pool = dbClient .pool ;
5323
5461
// Verify that there are no sessions in the pool.
5324
5462
assertEquals (0 , pool .getNumberOfSessionsInPool ());
5325
5463
// Verify that the sessions have not (yet) been marked as in use.
@@ -5347,6 +5485,22 @@ public void testSessionPoolExhaustedError_containsStackTraces() {
5347
5485
}
5348
5486
// Closing the transactions should return the sessions to the pool.
5349
5487
assertEquals (4 , pool .getNumberOfSessionsInPool ());
5488
+
5489
+ int channelId = dbClient .getSession ().getChannel ();
5490
+ int dbId = dbClient .dbId ;
5491
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantStreamingValues = {};
5492
+
5493
+ xGoogReqIdInterceptor .checkExpectedStreamingXGoogRequestIds (wantStreamingValues );
5494
+
5495
+ XGoogSpannerRequestIdTest .MethodAndRequestId [] wantUnaryValues = {
5496
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
5497
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
5498
+ new XGoogSpannerRequestId (dbId , 0 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
5499
+ XGoogSpannerRequestIdTest .ofMethodAndRequestId (
5500
+ "google.spanner.v1.Spanner/BatchCreateSessions" ,
5501
+ new XGoogSpannerRequestId (dbId , 1 , XGoogSpannerRequestIdTest .NON_DETERMINISTIC , 1 )),
5502
+ };
5503
+ xGoogReqIdInterceptor .checkExpectedUnaryXGoogRequestIds (wantUnaryValues );
5350
5504
}
5351
5505
}
5352
5506
0 commit comments