@@ -319,7 +319,7 @@ public CommitResponse writeAtLeastOnceWithOptions(
319
319
private XGoogSpannerRequestId reqIdOrFresh (Options options ) {
320
320
XGoogSpannerRequestId reqId = options .reqId ();
321
321
if (reqId == null ) {
322
- reqId = this .getRequestIdCreator ().nextRequestId (1 /* TODO: channelId */ , 1 );
322
+ reqId = this .getRequestIdCreator ().nextRequestId (this . getChannel () , 1 );
323
323
}
324
324
return reqId ;
325
325
}
@@ -464,17 +464,15 @@ public AsyncTransactionManagerImpl transactionManagerAsync(TransactionOption...
464
464
465
465
@ Override
466
466
public ApiFuture <Empty > asyncClose () {
467
- XGoogSpannerRequestId reqId =
468
- this .getRequestIdCreator ().nextRequestId (1 /* TODO: channelId */ , 0 );
467
+ XGoogSpannerRequestId reqId = this .getRequestIdCreator ().nextRequestId (this .getChannel (), 0 );
469
468
return spanner .getRpc ().asyncDeleteSession (getName (), reqId .withOptions (getOptions ()));
470
469
}
471
470
472
471
@ Override
473
472
public void close () {
474
473
ISpan span = tracer .spanBuilder (SpannerImpl .DELETE_SESSION );
475
474
try (IScope s = tracer .withSpan (span )) {
476
- XGoogSpannerRequestId reqId =
477
- this .getRequestIdCreator ().nextRequestId (1 /* TODO: channelId */ , 0 );
475
+ XGoogSpannerRequestId reqId = this .getRequestIdCreator ().nextRequestId (this .getChannel (), 0 );
478
476
spanner .getRpc ().deleteSession (getName (), reqId .withOptions (getOptions ()));
479
477
} catch (RuntimeException e ) {
480
478
span .setStatus (e );
@@ -505,8 +503,7 @@ ApiFuture<Transaction> beginTransactionAsync(
505
503
}
506
504
final BeginTransactionRequest request = requestBuilder .build ();
507
505
final ApiFuture <Transaction > requestFuture ;
508
- XGoogSpannerRequestId reqId =
509
- this .getRequestIdCreator ().nextRequestId (1 /* TODO: channelId */ , 1 );
506
+ XGoogSpannerRequestId reqId = this .getRequestIdCreator ().nextRequestId (this .getChannel (), 1 );
510
507
try (IScope ignore = tracer .withSpan (span )) {
511
508
requestFuture =
512
509
spanner
@@ -597,4 +594,9 @@ public void setRequestIdCreator(XGoogSpannerRequestId.RequestIdCreator creator)
597
594
public XGoogSpannerRequestId .RequestIdCreator getRequestIdCreator () {
598
595
return this .requestIdCreator ;
599
596
}
597
+
598
+ int getChannel () {
599
+ Long channelHint = (Long ) this .getOptions ().get (SpannerRpc .Option .CHANNEL_HINT );
600
+ return (int ) (channelHint % this .spanner .getOptions ().getNumChannels ());
601
+ }
600
602
}
0 commit comments