@@ -2101,6 +2101,9 @@ class Database extends common.GrpcServiceObject {
2101
2101
session ! . lastError = err ;
2102
2102
this . pool_ . release ( session ! ) ;
2103
2103
this . getSnapshot ( options , ( err , snapshot ) => {
2104
+ if ( err ) {
2105
+ setSpanError ( span , err ) ;
2106
+ }
2104
2107
span . end ( ) ;
2105
2108
callback ! ( err , snapshot ) ;
2106
2109
} ) ;
@@ -3223,7 +3226,8 @@ class Database extends common.GrpcServiceObject {
3223
3226
txn ! . once ( 'end' , ( ) => {
3224
3227
span . end ( ) ;
3225
3228
} ) ;
3226
- txn ! . once ( 'error' , ( ) => {
3229
+ txn ! . once ( 'error' , err => {
3230
+ setSpanError ( span , err ! ) ;
3227
3231
span . end ( ) ;
3228
3232
} ) ;
3229
3233
runFn ! ( null , txn ! ) ;
@@ -3245,8 +3249,6 @@ class Database extends common.GrpcServiceObject {
3245
3249
}
3246
3250
3247
3251
if ( err ) {
3248
- // This code path failed to even begin running the transaction
3249
- // hence end the span immediately and return it.
3250
3252
span . end ( ) ;
3251
3253
runFn ! ( err as grpc . ServiceError ) ;
3252
3254
return ;
@@ -3553,6 +3555,11 @@ class Database extends common.GrpcServiceObject {
3553
3555
mutationGroups ,
3554
3556
options
3555
3557
) ;
3558
+ dataStream . once ( 'end' , ( ) => span . end ( ) ) ;
3559
+ dataStream . once ( 'error' , err => {
3560
+ setSpanError ( span , err ! ) ;
3561
+ span . end ( ) ;
3562
+ } ) ;
3556
3563
dataStream . pipe ( proxyStream ) ;
3557
3564
} else {
3558
3565
span . end ( ) ;
@@ -3652,10 +3659,17 @@ class Database extends common.GrpcServiceObject {
3652
3659
span . addEvent ( 'No session available' , {
3653
3660
'session.id' : session ?. id ,
3654
3661
} ) ;
3655
- this . writeAtLeastOnce ( mutations , options , cb ! ) ;
3656
- span . end ( ) ;
3662
+ // Retry this method.
3663
+ this . writeAtLeastOnce ( mutations , options , ( err , resp ) => {
3664
+ if ( err ) {
3665
+ setSpanError ( span , err ) ;
3666
+ }
3667
+ span . end ( ) ;
3668
+ cb ! ( err , resp ) ;
3669
+ } ) ;
3657
3670
return ;
3658
3671
}
3672
+
3659
3673
if ( err ) {
3660
3674
setSpanError ( span , err ) ;
3661
3675
span . end ( ) ;
0 commit comments