Skip to content

Commit 4b25a85

Browse files
committed
Get more tests reveal needs for plumbing
1 parent d21cc73 commit 4b25a85

File tree

5 files changed

+24
-6
lines changed

5 files changed

+24
-6
lines changed

google-cloud-spanner/src/main/java/com/google/cloud/spanner/TransactionRunnerImpl.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -929,9 +929,12 @@ private ResultSet internalExecuteUpdate(
929929
final ExecuteSqlRequest.Builder builder =
930930
getExecuteSqlRequestBuilder(
931931
statement, queryMode, options, /* withTransactionSelector= */ true);
932+
XGoogSpannerRequestId reqId =
933+
session.getRequestIdCreator().nextRequestId(1 /*TODO: channelId */, 1);
932934
try {
933935
com.google.spanner.v1.ResultSet resultSet =
934-
rpc.executeQuery(builder.build(), getTransactionChannelHint(), isRouteToLeader());
936+
rpc.executeQuery(
937+
builder.build(), reqId.withOptions(getTransactionChannelHint()), isRouteToLeader());
935938
session.markUsed(clock.instant());
936939
if (resultSet.getMetadata().hasTransaction()) {
937940
onTransactionMetadata(

google-cloud-spanner/src/test/java/com/google/cloud/spanner/DatabaseClientImplTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -229,18 +229,22 @@ public static void startStaticServer() throws IOException {
229229
new HashSet(
230230
Arrays.asList(
231231
"google.spanner.v1.Spanner/BatchCreateSessions",
232-
// As functionality is added, uncomment each method.
233232
"google.spanner.v1.Spanner/BatchWrite",
234233
"google.spanner.v1.Spanner/BeginTransaction",
234+
"google.spanner.v1.Spanner/Commit",
235235
"google.spanner.v1.Spanner/CreateSession",
236236
"google.spanner.v1.Spanner/DeleteSession",
237237
"google.spanner.v1.Spanner/ExecuteBatchDml",
238238
"google.spanner.v1.Spanner/ExecuteSql",
239239
"google.spanner.v1.Spanner/ExecuteStreamingSql",
240-
"google.spanner.v1.Spanner/StreamingRead",
241-
"google.spanner.v1.Spanner/PartitionQuery",
242-
"google.spanner.v1.Spanner/PartitionRead",
243-
"google.spanner.v1.Spanner/Commit"));
240+
"google.spanner.v1.Spanner/GetSession",
241+
"google.spanner.v1.Spanner/ListSessions",
242+
// TODO: Uncomment the methods when the implementation is completed.
243+
// "google.spanner.v1.Spanner/PartitionQuery",
244+
// "google.spanner.v1.Spanner/PartitionRead",
245+
"google.spanner.v1.Spanner/Read",
246+
"google.spanner.v1.Spanner/Rollback",
247+
"google.spanner.v1.Spanner/StreamingRead"));
244248
xGoogReqIdInterceptor = new XGoogSpannerRequestIdTest.ServerHeaderEnforcer(checkMethods);
245249
executor = Executors.newSingleThreadExecutor();
246250
String uniqueName = InProcessServerBuilder.generateName();

google-cloud-spanner/src/test/java/com/google/cloud/spanner/SessionPoolTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1481,6 +1481,8 @@ public void testSessionNotFoundReadWriteTransaction() {
14811481
when(closedSession.getName())
14821482
.thenReturn("projects/dummy/instances/dummy/database/dummy/sessions/session-closed");
14831483
when(closedSession.getErrorHandler()).thenReturn(DefaultErrorHandler.INSTANCE);
1484+
when(closedSession.getRequestIdCreator())
1485+
.thenReturn(new XGoogSpannerRequestId.NoopRequestIdCreator());
14841486

14851487
Span oTspan = mock(Span.class);
14861488
ISpan span = new OpenTelemetrySpan(oTspan);
@@ -1521,6 +1523,8 @@ public void testSessionNotFoundReadWriteTransaction() {
15211523
TransactionRunnerImpl openTransactionRunner = new TransactionRunnerImpl(openSession);
15221524
openTransactionRunner.setSpan(span);
15231525
when(openSession.readWriteTransaction()).thenReturn(openTransactionRunner);
1526+
when(openSession.getRequestIdCreator())
1527+
.thenReturn(new XGoogSpannerRequestId.NoopRequestIdCreator());
15241528

15251529
ResultSet openResultSet = mock(ResultSet.class);
15261530
when(openResultSet.next()).thenReturn(true, false);

google-cloud-spanner/src/test/java/com/google/cloud/spanner/TransactionContextImplTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,8 @@ public void setup() {
6767
.setCommitTimestamp(Timestamp.newBuilder().setSeconds(99L).setNanos(10).build())
6868
.build()));
6969
when(session.getName()).thenReturn("test");
70+
when(session.getRequestIdCreator())
71+
.thenReturn(new XGoogSpannerRequestId.NoopRequestIdCreator());
7072
doNothing().when(span).setStatus(any(Throwable.class));
7173
doNothing().when(span).end();
7274
doNothing().when(span).addAnnotation("Starting Commit");
@@ -210,6 +212,8 @@ public void testReturnCommitStats() {
210212
private void batchDml(int status) {
211213
SessionImpl session = mock(SessionImpl.class);
212214
when(session.getName()).thenReturn("test");
215+
when(session.getRequestIdCreator())
216+
.thenReturn(new XGoogSpannerRequestId.NoopRequestIdCreator());
213217
SpannerRpc rpc = mock(SpannerRpc.class);
214218
ExecuteBatchDmlResponse response =
215219
ExecuteBatchDmlResponse.newBuilder()

google-cloud-spanner/src/test/java/com/google/cloud/spanner/TransactionRunnerImplTest.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@ public void setUp() {
121121
when(session.getErrorHandler()).thenReturn(DefaultErrorHandler.INSTANCE);
122122
when(session.newTransaction(eq(Options.fromTransactionOptions()), any())).thenReturn(txn);
123123
when(session.getTracer()).thenReturn(tracer);
124+
when(session.getRequestIdCreator())
125+
.thenReturn(new XGoogSpannerRequestId.NoopRequestIdCreator());
124126
when(rpc.executeQuery(Mockito.any(ExecuteSqlRequest.class), Mockito.anyMap(), eq(true)))
125127
.thenAnswer(
126128
invocation -> {
@@ -334,6 +336,7 @@ public void inlineBegin() {
334336
spanner,
335337
new SessionReference(
336338
"projects/p/instances/i/databases/d/sessions/s", Collections.EMPTY_MAP)) {};
339+
session.setRequestIdCreator(new XGoogSpannerRequestId.NoopRequestIdCreator());
337340
session.setCurrentSpan(new OpenTelemetrySpan(mock(io.opentelemetry.api.trace.Span.class)));
338341
TransactionRunnerImpl runner = new TransactionRunnerImpl(session);
339342
runner.setSpan(span);

0 commit comments

Comments
 (0)