Skip to content

Commit 10c6c11

Browse files
diegomarquezpsurbhigarg92olavloiterenovate-botrahul2393
authored
feat: update with latest from main (#4269)
* chore: add release-please config for protobuf-4.x (#4249) * fix: Refine connecitivity metrics to capture RPCs with no response he… (#4252) * fix: Refine connecitivity metrics to capture RPCs with no response headers * test fix * fix: retry as PDML dit not retry Resource limit exceeded (#4258) Most transactions that exceed the mutation limit for an atomic transaction will fail with the error "The transaction contains too many mutations.". However, it is also possible that the transaction fails with the more generic error message "Transaction resource limits exceeded". This error did not trigger a retry of the statement using a PDML transaction. Fixes #4253 * deps: update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 (#4261) * deps: update googleapis/sdk-platform-java action to v2.64.2 (#4262) * feat: include RequestID in requests and errors (#4263) - Send a RequestID to Spanner for each request - Make sure that the attempt number of the RequestID is increased if the RPC is retried. - Include the RequestID in every error that is thrown due to an error that is returned by Spanner. * feat: make grpc-gcp default enabled (#4239) This PR enables the gRPC-GCP channel pool extension by default for Cloud Spanner Java client. **What's Changing for Customers** **Before this change** - gRPC-GCP extension was disabled by default - Default number of channels: 4 - Channel pooling was handled by GAX **After this change** - gRPC-GCP extension is enabled by default - Default number of channels: 8 - Channel pooling is handled by gRPC-GCP extension **Benefits of gRPC-GCP** - **Improved resilience:** When a network connection fails on a particular channel, operations can be automatically retried on a different gRPC channel - **Better channel management:** gRPC-GCP provides more sophisticated channel affinity and load balancing **How to Disable gRPC-GCP (Switch Back to GAX Channel Pool)** If you need to disable gRPC-GCP and use the previous GAX channel pooling behavior, use the `disableGrpcGcpExtension()` method: ``` SpannerOptions options = SpannerOptions.newBuilder() .setProjectId("my-project") .disableGrpcGcpExtension() .build(); ``` When disabled, the default number of channels reverts to 4 (the previous default). **When You Might Want to Disable gRPC-GCP** - **Maintaining previous behavior:** If you want to keep the exact same behavior as before this change (GAX channel pool with 4 default channels). - **Troubleshooting**: If you experience any unexpected behavior, disabling gRPC-GCP can help isolate whether the issue is related to the channel pooling mechanism. * chore(main): release 6.104.1-SNAPSHOT (#4248) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). * feat: add support of dynamic channel pooling (#4265) * feat: add support of dynamic channel pooling * set initial pool size to 0 make dynamic channel pool work * chore: generate libraries at Tue Dec 16 06:00:50 UTC 2025 * bump grpc-gcp-java version * fix test * incorporate suggestions * chore: generate libraries at Tue Dec 16 09:56:45 UTC 2025 * make dynamic channel pool default disabled * add verifySameChannelId back and fix partitionDML test * support setting GcpChannelPoolOptions directly --------- Co-authored-by: cloud-java-bot <cloud-java-bot@google.com> * chore(main): release 6.105.0 (#4267) * chore(main): release 6.105.0 * chore: generate libraries at Tue Dec 16 17:46:24 UTC 2025 --------- Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: cloud-java-bot <cloud-java-bot@google.com> * chore(main): release 6.105.1-SNAPSHOT (#4268) :robot: I have created a release *beep* *boop* --- ### Updating meta-information for bleeding-edge SNAPSHOT release. --- This PR was generated with [Release Please](https://togithub.com/googleapis/release-please). See [documentation](https://togithub.com/googleapis/release-please#release-please). * chore: update manifest --------- Co-authored-by: surbhigarg92 <surbhigarg.92@gmail.com> Co-authored-by: Knut Olav Løite <koloite@gmail.com> Co-authored-by: Mend Renovate <bot@renovateapp.com> Co-authored-by: rahul2393 <irahul@google.com> Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com> Co-authored-by: cloud-java-bot <cloud-java-bot@google.com>
1 parent 7bd9ba9 commit 10c6c11

File tree

83 files changed

+2653
-1033
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

83 files changed

+2653
-1033
lines changed

.github/release-please.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,3 +54,8 @@ branches:
5454
bumpMinorPreMajor: true
5555
handleGHRelease: true
5656
branch: 6.95.x
57+
- releaseType: java-yoshi
58+
bumpMinorPreMajor: true
59+
handleGHRelease: true
60+
branch: protobuf-4.x-rc
61+
manifest: true

.github/workflows/hermetic_library_generation.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
with:
3838
fetch-depth: 0
3939
token: ${{ secrets.CLOUD_JAVA_BOT_TOKEN }}
40-
- uses: googleapis/sdk-platform-java/.github/scripts@v2.64.1
40+
- uses: googleapis/sdk-platform-java/.github/scripts@v2.64.2
4141
if: env.SHOULD_RUN == 'true'
4242
with:
4343
base_ref: ${{ github.base_ref }}

.github/workflows/unmanaged_dependency_check.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
# repository
1818
.kokoro/build.sh
1919
- name: Unmanaged dependency check
20-
uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.54.1
20+
uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v3.54.2
2121
with:
2222
bom-path: google-cloud-spanner-bom/pom.xml

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "6.104.0"
2+
".": "6.105.0"
33
}

CHANGELOG.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,26 @@
11
# Changelog
22

3+
## [6.105.0](https://github.com/googleapis/java-spanner/compare/v6.104.0...v6.105.0) (2025-12-16)
4+
5+
6+
### Features
7+
8+
* Add support of dynamic channel pooling ([#4265](https://github.com/googleapis/java-spanner/issues/4265)) ([923a14a](https://github.com/googleapis/java-spanner/commit/923a14aad99ff6fc91868f02d657145dd0f31c18))
9+
* Include RequestID in requests and errors ([#4263](https://github.com/googleapis/java-spanner/issues/4263)) ([afd7d6b](https://github.com/googleapis/java-spanner/commit/afd7d6b008f13d7a4d1a3b7f924122bd41d14b59))
10+
* Make grpc-gcp default enabled ([#4239](https://github.com/googleapis/java-spanner/issues/4239)) ([bb82f9e](https://github.com/googleapis/java-spanner/commit/bb82f9e55c40cac29b090e54be780c2e42545ee1))
11+
12+
13+
### Bug Fixes
14+
15+
* Refine connecitivity metrics to capture RPCs with no response he… ([#4252](https://github.com/googleapis/java-spanner/issues/4252)) ([7b49412](https://github.com/googleapis/java-spanner/commit/7b4941221969f48d077ff459214c7d1e65ef843c))
16+
* Retry as PDML dit not retry Resource limit exceeded ([#4258](https://github.com/googleapis/java-spanner/issues/4258)) ([c735d42](https://github.com/googleapis/java-spanner/commit/c735d42875092b0d1482fe641b99645f288cdf4f)), closes [#4253](https://github.com/googleapis/java-spanner/issues/4253)
17+
18+
19+
### Dependencies
20+
21+
* Update dependency com.google.cloud:sdk-platform-java-config to v3.54.2 ([#4261](https://github.com/googleapis/java-spanner/issues/4261)) ([61dfd62](https://github.com/googleapis/java-spanner/commit/61dfd620637da6ef76b699edbad1095c26b81950))
22+
* Update googleapis/sdk-platform-java action to v2.64.2 ([#4262](https://github.com/googleapis/java-spanner/issues/4262)) ([f9505a9](https://github.com/googleapis/java-spanner/commit/f9505a97bdd9f6da7dd5ab1b60b47f7ed0a70402))
23+
324
## [6.104.0](https://github.com/googleapis/java-spanner/compare/v6.103.0...v6.104.0) (2025-12-03)
425

526

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,13 +56,13 @@ implementation 'com.google.cloud:google-cloud-spanner'
5656
If you are using Gradle without BOM, add this to your dependencies:
5757

5858
```Groovy
59-
implementation 'com.google.cloud:google-cloud-spanner:6.104.0'
59+
implementation 'com.google.cloud:google-cloud-spanner:6.105.0'
6060
```
6161

6262
If you are using SBT, add this to your dependencies:
6363

6464
```Scala
65-
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.104.0"
65+
libraryDependencies += "com.google.cloud" % "google-cloud-spanner" % "6.105.0"
6666
```
6767

6868
## Authentication
@@ -567,7 +567,7 @@ Java is a registered trademark of Oracle and/or its affiliates.
567567
[kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/java-spanner/java11.html
568568
[stability-image]: https://img.shields.io/badge/stability-stable-green
569569
[maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-spanner.svg
570-
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.104.0
570+
[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-spanner/6.105.0
571571
[authentication]: https://github.com/googleapis/google-cloud-java#authentication
572572
[auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes
573573
[predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles

benchmarks/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<parent>
2525
<groupId>com.google.cloud</groupId>
2626
<artifactId>google-cloud-spanner-parent</artifactId>
27-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
27+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
2828
</parent>
2929

3030
<properties>

google-cloud-spanner-bom/pom.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33
<modelVersion>4.0.0</modelVersion>
44
<groupId>com.google.cloud</groupId>
55
<artifactId>google-cloud-spanner-bom</artifactId>
6-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
77
<packaging>pom</packaging>
88
<parent>
99
<groupId>com.google.cloud</groupId>
1010
<artifactId>sdk-platform-java-config</artifactId>
11-
<version>3.54.1</version>
11+
<version>3.54.2</version>
1212
</parent>
1313

1414
<name>Google Cloud Spanner BOM</name>
@@ -53,43 +53,43 @@
5353
<dependency>
5454
<groupId>com.google.cloud</groupId>
5555
<artifactId>google-cloud-spanner</artifactId>
56-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
56+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
5757
</dependency>
5858
<dependency>
5959
<groupId>com.google.cloud</groupId>
6060
<artifactId>google-cloud-spanner</artifactId>
6161
<type>test-jar</type>
62-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
62+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
6363
</dependency>
6464
<dependency>
6565
<groupId>com.google.api.grpc</groupId>
6666
<artifactId>grpc-google-cloud-spanner-v1</artifactId>
67-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
67+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-v1:current} -->
6868
</dependency>
6969
<dependency>
7070
<groupId>com.google.api.grpc</groupId>
7171
<artifactId>grpc-google-cloud-spanner-admin-instance-v1</artifactId>
72-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
72+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-instance-v1:current} -->
7373
</dependency>
7474
<dependency>
7575
<groupId>com.google.api.grpc</groupId>
7676
<artifactId>grpc-google-cloud-spanner-admin-database-v1</artifactId>
77-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
77+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:grpc-google-cloud-spanner-admin-database-v1:current} -->
7878
</dependency>
7979
<dependency>
8080
<groupId>com.google.api.grpc</groupId>
8181
<artifactId>proto-google-cloud-spanner-admin-instance-v1</artifactId>
82-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
82+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-instance-v1:current} -->
8383
</dependency>
8484
<dependency>
8585
<groupId>com.google.api.grpc</groupId>
8686
<artifactId>proto-google-cloud-spanner-v1</artifactId>
87-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
87+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-v1:current} -->
8888
</dependency>
8989
<dependency>
9090
<groupId>com.google.api.grpc</groupId>
9191
<artifactId>proto-google-cloud-spanner-admin-database-v1</artifactId>
92-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
92+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:proto-google-cloud-spanner-admin-database-v1:current} -->
9393
</dependency>
9494
</dependencies>
9595
</dependencyManagement>

google-cloud-spanner-executor/pom.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55
<modelVersion>4.0.0</modelVersion>
66
<groupId>com.google.cloud</groupId>
77
<artifactId>google-cloud-spanner-executor</artifactId>
8-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
8+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner-executor:current} -->
99
<packaging>jar</packaging>
1010
<name>Google Cloud Spanner Executor</name>
1111

1212
<parent>
1313
<groupId>com.google.cloud</groupId>
1414
<artifactId>google-cloud-spanner-parent</artifactId>
15-
<version>6.104.1-rc1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
15+
<version>6.105.1-SNAPSHOT</version><!-- {x-version-update:google-cloud-spanner:current} -->
1616
</parent>
1717

1818
<properties>
@@ -59,6 +59,11 @@
5959
</exclusion>
6060
</exclusions>
6161
</dependency>
62+
<dependency>
63+
<groupId>com.google.cloud</groupId>
64+
<artifactId>grpc-gcp</artifactId>
65+
<version>${grpc.gcp.version}</version>
66+
</dependency>
6267
<dependency>
6368
<groupId>io.opentelemetry.semconv</groupId>
6469
<artifactId>opentelemetry-semconv</artifactId>
@@ -296,7 +301,7 @@
296301
<groupId>org.apache.maven.plugins</groupId>
297302
<artifactId>maven-dependency-plugin</artifactId>
298303
<configuration>
299-
<ignoredDependencies> com.google.api:gax,org.apache.maven.surefire:surefire-junit4,io.opentelemetry.semconv:opentelemetry-semconv,com.google.cloud.opentelemetry:shared-resourcemapping </ignoredDependencies>
304+
<ignoredDependencies> com.google.api:gax,org.apache.maven.surefire:surefire-junit4,io.opentelemetry.semconv:opentelemetry-semconv,com.google.cloud.opentelemetry:shared-resourcemapping,com.google.cloud:grpc-gcp </ignoredDependencies>
300305
</configuration>
301306
</plugin>
302307
</plugins>

google-cloud-spanner/clirr-ignored-differences.xml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1062,4 +1062,81 @@
10621062
<className>com/google/cloud/spanner/connection/Connection</className>
10631063
<method>java.lang.Object getConnectionPropertyValue(com.google.cloud.spanner.connection.ConnectionProperty)</method>
10641064
</difference>
1065+
<!-- (Remove since these methods has no usage. CompositeTracer interface is annotated as internal API) -->
1066+
<difference>
1067+
<differenceType>7002</differenceType>
1068+
<className>com/google/cloud/spanner/CompositeTracer</className>
1069+
<method>void recordAFELatency(java.lang.Long)</method>
1070+
</difference>
1071+
<difference>
1072+
<differenceType>7002</differenceType>
1073+
<className>com/google/cloud/spanner/CompositeTracer</className>
1074+
<method>void recordAFELatency(java.lang.Float)</method>
1075+
</difference>
1076+
<difference>
1077+
<differenceType>7002</differenceType>
1078+
<className>com/google/cloud/spanner/CompositeTracer</className>
1079+
<method>void recordAfeHeaderMissingCount(java.lang.Long)</method>
1080+
</difference>
1081+
<difference>
1082+
<differenceType>7002</differenceType>
1083+
<className>com/google/cloud/spanner/CompositeTracer</className>
1084+
<method>void recordGFELatency(java.lang.Long)</method>
1085+
</difference>
1086+
<difference>
1087+
<differenceType>7002</differenceType>
1088+
<className>com/google/cloud/spanner/CompositeTracer</className>
1089+
<method>void recordGFELatency(java.lang.Float)</method>
1090+
</difference>
1091+
<difference>
1092+
<differenceType>7002</differenceType>
1093+
<className>com/google/cloud/spanner/CompositeTracer</className>
1094+
<method>void recordGfeHeaderMissingCount(java.lang.Long)</method>
1095+
</difference>
1096+
1097+
<difference>
1098+
<differenceType>7002</differenceType>
1099+
<className>com/google/cloud/spanner/SpannerException</className>
1100+
<method>void setRequestId(com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1101+
</difference>
1102+
<difference>
1103+
<differenceType>7002</differenceType>
1104+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1105+
<method>com.google.cloud.spanner.SpannerBatchUpdateException newSpannerBatchUpdateException(com.google.cloud.spanner.ErrorCode, java.lang.String, long[], com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1106+
</difference>
1107+
<difference>
1108+
<differenceType>7002</differenceType>
1109+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1110+
<method>com.google.cloud.spanner.SpannerException newSpannerException(com.google.cloud.spanner.ErrorCode, java.lang.String, java.lang.Throwable, com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1111+
</difference>
1112+
<difference>
1113+
<differenceType>7002</differenceType>
1114+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1115+
<method>com.google.cloud.spanner.SpannerException newSpannerException(com.google.cloud.spanner.ErrorCode, java.lang.String, com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1116+
</difference>
1117+
<difference>
1118+
<differenceType>7002</differenceType>
1119+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1120+
<method>com.google.cloud.spanner.SpannerException newSpannerException(java.lang.Throwable, com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1121+
</difference>
1122+
<difference>
1123+
<differenceType>7002</differenceType>
1124+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1125+
<method>com.google.cloud.spanner.SpannerException newSpannerException(io.grpc.Context, java.lang.Throwable, com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1126+
</difference>
1127+
<difference>
1128+
<differenceType>7002</differenceType>
1129+
<className>com/google/cloud/spanner/SpannerExceptionFactory</className>
1130+
<method>com.google.cloud.spanner.SpannerException propagateInterrupt(java.lang.InterruptedException, com.google.cloud.spanner.XGoogSpannerRequestId)</method>
1131+
</difference>
1132+
<difference>
1133+
<differenceType>6001</differenceType>
1134+
<className>com/google/cloud/spanner/XGoogSpannerRequestId</className>
1135+
<field>REQUEST_HEADER_KEY</field>
1136+
</difference>
1137+
<difference>
1138+
<differenceType>6001</differenceType>
1139+
<className>com/google/cloud/spanner/XGoogSpannerRequestId</className>
1140+
<field>REQUEST_ID</field>
1141+
</difference>
10651142
</differences>

0 commit comments

Comments
 (0)