Skip to content

Conversation

@zhumin8
Copy link
Contributor

@zhumin8 zhumin8 commented May 28, 2025

upgrade protobuf-java to v3.25.8, release notes

@product-auto-label product-auto-label bot added the size: xs Pull request size is extra small. label May 28, 2025
@product-auto-label product-auto-label bot added size: m Pull request size is medium. and removed size: xs Pull request size is extra small. labels May 28, 2025
@zhumin8
Copy link
Contributor Author

zhumin8 commented May 28, 2025

showcase test failed at generation:

Generating library from schema/google/showcase/v1beta1 to /workspace/java-showcase /workspace/output /workspace --rpc-plugin_out: protoc-gen-rpc-plugin: Plugin output is unparseable: Executing in a compatibility layer.\nTranslation failures may occur.\n Library generation failed ++ cleanup ++ [[ -z /tmp/tmp.ZXaLQrR1Uu ]] ++ [[ -z /tmp/tmp.K7szwHUIXt ]] Error: Command execution failed. 

"Hermetic library generation upon generation config change through pull requests / library-generation" fails with same error.
https://github.com/googleapis/sdk-platform-java/actions/runs/15305217262/job/43056047187?pr=3810

UPDATE: local run of mvn test \ -P enable-golden-tests is successful, failed to reproduce error. But re-running ci still fails with same error.

2nd UPDATE: this failure investigation is tracked in doc. And is identified independent of this change.

downstream test at pubsub-lite fails:

Error: Errors: Error: SinglePartitionSubscriberTest.singleMessageNackHandlerFailedFuture:228 » IllegalState failureCause() is only valid if the service has failed, service is RUNNING 

UPDATE: this failure resolved with rerun. See log: https://github.com/googleapis/sdk-platform-java/actions/runs/15305217261/job/43063554073?pr=3810

@zhumin8
Copy link
Contributor Author

zhumin8 commented May 28, 2025

library-generation-integration-test failure are expected:
failures are at verify-generation step, with differences in protobuf version in comments:

-// Protobuf Java Version: 3.25.5 -- 694 |   695 | +// Protobuf Java Version: 3.25.8 

UPDATE: later fixed by updating the golden branch manually. see #3810 (comment)

@zhumin8
Copy link
Contributor Author

zhumin8 commented May 29, 2025

Pinning versions in "apk update" command did not solve the problem and end up with same error:
see 6011963 , failed log: https://github.com/googleapis/sdk-platform-java/actions/runs/15329363271/job/43132027447

Try to revert an upgrade and use alpine versions consistently across layers. This is unlikely the cause of the problem as the upgrade was done a few month ago, but looks suspicious that these 2 versions are different:
e18a443
Seeing error below:

 95 | COPY --from=glibc-compat /usr/lib/libobstack* /usr/lib/ 96 | COPY --from=glibc-compat /lib/libm.so.6 /usr/lib/ 97 | >>> COPY --from=glibc-compat /usr/lib/libucontext.so.1 /usr/lib/ 98 | 99 | -------------------- ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref 48e4cfb4-c9c3-4e87-8045-a1db3427459d::y5ck8rvr24tqpvi6lc6spdflb: "/usr/lib/libucontext.so.1": not found 

Now revert changes that were part of alpine image upgrade from 3.20.3 to 3.21.0 (https://github.com/googleapis/sdk-platform-java/pull/3433/files).

back to original error at generation, log:

Generating library from schema/google/showcase/v1beta1 to /workspace/java-showcase /workspace/output /workspace --rpc-plugin_out: protoc-gen-rpc-plugin: Plugin output is unparseable: Executing in a compatibility layer.\nTranslation failures may occur.\n Library generation failed 

UPDATE: this failure investigation is tracked in doc. And is identified independent of this change.

@zhumin8
Copy link
Contributor Author

zhumin8 commented May 30, 2025

force pushed to revert testing/debug changes.
To rebase after #3817 gets in.

@zhumin8 zhumin8 marked this pull request as ready for review May 30, 2025 18:08
@zhumin8 zhumin8 requested review from blakeli0 and lqiu96 May 30, 2025 18:09
Copy link
Contributor

@diegomarquezp diegomarquezp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe the golden branch needs to be updated. Would you mind run the generation locally and the pushing the changes to https://github.com/googleapis/google-cloud-java/tree/chore/test-hermetic-build?

I think we should better document this part of the process.

@zhumin8
Copy link
Contributor Author

zhumin8 commented May 30, 2025

I believe the golden branch needs to be updated. Would you mind run the generation locally and the pushing the changes to https://github.com/googleapis/google-cloud-java/tree/chore/test-hermetic-build?

I think we should better document this part of the process.

Thanks for the pointer. Manually updated above branch with:

  1. build test-image from this branch
DOCKER_BUILDKIT=1 sudo docker build \ -f .cloudbuild/library_generation/library_generation.Dockerfile \ -t test-image:latest \ . 
  1. clone and pull googleapis, then checkout fixed commit here.
  2. in google-cloud-java, checkout ‹chore/test-hermetic-build› , run generation
sudo docker run --rm \ -u "$(id -u):$(id -g)" \ -v "$(pwd):/workspace" \ -v /path/to/googleapis:/workspace/apis \ test-image:latest \ --generation-config-path=/workspace/generation_config.yaml \ --repository-path=/workspace \ --api-definitions-path=/workspace/apis 
  1. commit and push changes to google-cloud-java ‹chore/test-hermetic-build›
  2. re-run gcb job library-generation-integration-test . retrying here, in case it does not report back
@zhumin8 zhumin8 merged commit ab90662 into main Jun 2, 2025
73 of 75 checks passed
@zhumin8 zhumin8 deleted the proto25.8 branch June 2, 2025 13:59
zhumin8 pushed a commit that referenced this pull request Jun 2, 2025
🤖 I have created a release *beep* *boop* --- <details><summary>2.59.0</summary> ## [2.59.0](v2.58.0...v2.59.0) (2025-06-02) ### Features * add logic to set universe domain to ServiceAccountJwtAccessCredentials ([#3806](#3806)) ([5b45708](5b45708)) * use debian base image for `java-library-generation` ([#3817](#3817)) ([94d0b30](94d0b30)) ### Bug Fixes * manage graalvm image versions via Hermetic Build templates _only_ ([#3800](#3800)) ([244c5dc](244c5dc)) ### Dependencies * update dependency com.google.oauth-client:google-oauth-client-bom to v1.39.0 ([#3813](#3813)) ([196a7ca](196a7ca)) * update google api dependencies ([#3791](#3791)) ([45ef2e0](45ef2e0)) * update google auth library dependencies to v1.36.0 ([#3814](#3814)) ([07f834a](07f834a)) * update grpc dependencies to 1.71.0 ([#3807](#3807)) ([49a7ae5](49a7ae5)) * Upgrade Protobuf-Java to v3.25.8 ([#3810](#3810)) ([ab90662](ab90662)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
lqiu96 pushed a commit that referenced this pull request Jun 10, 2025
upgrade protobuf-java to v3.25.8, [release notes](https://github.com/protocolbuffers/protobuf/releases/tag/v25.8) - update protobuf java to v3.25.8 - locally run `mvn compile -P update` from java-showcase to update golden showcase files
lqiu96 pushed a commit that referenced this pull request Jun 10, 2025
🤖 I have created a release *beep* *boop* --- <details><summary>2.59.0</summary> ## [2.59.0](v2.58.0...v2.59.0) (2025-06-02) ### Features * add logic to set universe domain to ServiceAccountJwtAccessCredentials ([#3806](#3806)) ([5b45708](5b45708)) * use debian base image for `java-library-generation` ([#3817](#3817)) ([94d0b30](94d0b30)) ### Bug Fixes * manage graalvm image versions via Hermetic Build templates _only_ ([#3800](#3800)) ([244c5dc](244c5dc)) ### Dependencies * update dependency com.google.oauth-client:google-oauth-client-bom to v1.39.0 ([#3813](#3813)) ([196a7ca](196a7ca)) * update google api dependencies ([#3791](#3791)) ([45ef2e0](45ef2e0)) * update google auth library dependencies to v1.36.0 ([#3814](#3814)) ([07f834a](07f834a)) * update grpc dependencies to 1.71.0 ([#3807](#3807)) ([49a7ae5](49a7ae5)) * Upgrade Protobuf-Java to v3.25.8 ([#3810](#3810)) ([ab90662](ab90662)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
svc-squareup-copybara pushed a commit to cashapp/misk that referenced this pull request Jun 26, 2025
| Package | Type | Package file | Manager | Update | Change | |---|---|---|---|---|---| | [com.google.api.grpc:proto-google-common-protos](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.58.2` -> `2.59.0` | | [com.google.api:gax](https://github.com/googleapis/sdk-platform-java) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.67.2` -> `2.68.0` | | [com.google.errorprone:error_prone_annotations](https://errorprone.info) ([source](https://github.com/google/error-prone)) | dependencies | misk/gradle/libs.versions.toml | gradle | minor | `2.38.0` -> `2.39.0` | | [org.jetbrains.kotlinx.binary-compatibility-validator](https://github.com/Kotlin/binary-compatibility-validator) | plugin | misk/gradle/libs.versions.toml | gradle | minor | `0.17.0` -> `0.18.0` | | [com.autonomousapps.dependency-analysis](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin) | plugin | misk/gradle/libs.versions.toml | gradle | minor | `2.18.0` -> `2.19.0` | | [software.amazon.awssdk:sdk-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:sqs](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:dynamodb-enhanced](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:dynamodb](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:aws-core](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:bom](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | | [software.amazon.awssdk:auth](https://aws.amazon.com/sdkforjava) | dependencies | misk/gradle/libs.versions.toml | gradle | patch | `2.31.69` -> `2.31.70` | --- ### Release Notes <details> <summary>googleapis/sdk-platform-java (com.google.api.grpc:proto-google-common-protos)</summary> ### [`v2.59.0`](https://github.com/googleapis/sdk-platform-java/blob/HEAD/CHANGELOG.md#2590-2025-06-02) ##### Features - add logic to set universe domain to ServiceAccountJwtAccessCredentials ([#&#8203;3806](googleapis/sdk-platform-java#3806)) ([5b45708](googleapis/sdk-platform-java@5b45708)) - use debian base image for `java-library-generation` ([#&#8203;3817](googleapis/sdk-platform-java#3817)) ([94d0b30](googleapis/sdk-platform-java@94d0b30)) ##### Bug Fixes - manage graalvm image versions via Hermetic Build templates *only* ([#&#8203;3800](googleapis/sdk-platform-java#3800)) ([244c5dc](googleapis/sdk-platform-java@244c5dc)) ##### Dependencies - update dependency com.google.oauth-client:google-oauth-client-bom to v1.39.0 ([#&#8203;3813](googleapis/sdk-platform-java#3813)) ([196a7ca](googleapis/sdk-platform-java@196a7ca)) - update google api dependencies ([#&#8203;3791](googleapis/sdk-platform-java#3791)) ([45ef2e0](googleapis/sdk-platform-java@45ef2e0)) - update google auth library dependencies to v1.36.0 ([#&#8203;3814](googleapis/sdk-platform-java#3814)) ([07f834a](googleapis/sdk-platform-java@07f834a)) - update grpc dependencies to 1.71.0 ([#&#8203;3807](googleapis/sdk-platform-java#3807)) ([49a7ae5](googleapis/sdk-platform-java@49a7ae5)) - Upgrade Protobuf-Java to v3.25.8 ([#&#8203;3810](googleapis/sdk-platform-java#3810)) ([ab90662](googleapis/sdk-platform-java@ab90662)) </details> <details> <summary>google/error-prone (com.google.errorprone:error_prone_annotations)</summary> ### [`v2.39.0`](https://github.com/google/error-prone/releases/tag/v2.39.0): Error Prone 2.39.0 Changes: - Temporarily downgrade to Guava 33.4.0 ([#&#8203;5108](google/error-prone#5108)) Checks: - [`BooleanLiteral`](https://errorprone.info/bugpattern/BooleanLiteral): Prefer `true` to `Boolean.TRUE` - [`ExpensiveLenientFormatString`](https://errorprone.info/bugpattern/ExpensiveLenientFormatString): Renamed from `PreconditionsExpensiveString`, detects unnecessary calls to `String.format` in the arguments of lenient formatting methods. - [`UnnecessaryQualifier`](https://errorprone.info/bugpattern/UnnecessaryQualifier): Detects `@Qualifier` or `@BindingAnnotation` annotations that have no effect, and can be removed Issues: [#&#8203;4996](google/error-prone#4996), [#&#8203;5045](google/error-prone#5045) Full changelog: google/error-prone@v2.38.0...v2.39.0 </details> <details> <summary>Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)</summary> ### [`v0.18.0`](https://github.com/Kotlin/binary-compatibility-validator/releases/tag/0.18.0) [Compare Source](Kotlin/binary-compatibility-validator@0.17.0...0.18.0) #### What's Changed - Supported KLIB cross compilation enabled in Kotlin 2.1.0 [#&#8203;299](Kotlin/binary-compatibility-validator#299) - Fixed issue with early properties evaluation [#&#8203;286](Kotlin/binary-compatibility-validator#286) - Started excluding local classes created by Parcelize [#&#8203;300](Kotlin/binary-compatibility-validator#300) Thanks to [@&#8203;TheMrMilchmann](https://github.com/TheMrMilchmann), [@&#8203;osipxd](https://github.com/osipxd), and [@&#8203;Goooler](https://github.com/Goooler) for their contributions! </details> <details> <summary>autonomousapps/dependency-analysis-android-gradle-plugin (com.autonomousapps.dependency-analysis)</summary> ### [`v2.19.0`](https://github.com/autonomousapps/dependency-analysis-android-gradle-plugin/blob/HEAD/CHANGELOG.md#Version-2190) - \[Feat]: support advices for Android test fixtures source sets - \[Feat]: support typesafe project accessors in IssueHandler - \[Fix]: bump kotlin-metadata-jvm to 2.1.21 to support K2.2 projects. - \[Chore]: move publishing to new `central.sonatype.com` repo. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 6pm every weekday,before 2am every weekday" in timezone Australia/Melbourne, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Never, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). GitOrigin-RevId: d85db8eca9307834b88f72100e0026a94e3b4aa2
lqiu96 pushed a commit that referenced this pull request Aug 21, 2025
upgrade protobuf-java to v3.25.8, [release notes](https://github.com/protocolbuffers/protobuf/releases/tag/v25.8) - update protobuf java to v3.25.8 - locally run `mvn compile -P update` from java-showcase to update golden showcase files
lqiu96 pushed a commit that referenced this pull request Aug 21, 2025
🤖 I have created a release *beep* *boop* --- <details><summary>2.59.0</summary> ## [2.59.0](v2.58.0...v2.59.0) (2025-06-02) ### Features * add logic to set universe domain to ServiceAccountJwtAccessCredentials ([#3806](#3806)) ([5b45708](5b45708)) * use debian base image for `java-library-generation` ([#3817](#3817)) ([94d0b30](94d0b30)) ### Bug Fixes * manage graalvm image versions via Hermetic Build templates _only_ ([#3800](#3800)) ([244c5dc](244c5dc)) ### Dependencies * update dependency com.google.oauth-client:google-oauth-client-bom to v1.39.0 ([#3813](#3813)) ([196a7ca](196a7ca)) * update google api dependencies ([#3791](#3791)) ([45ef2e0](45ef2e0)) * update google auth library dependencies to v1.36.0 ([#3814](#3814)) ([07f834a](07f834a)) * update grpc dependencies to 1.71.0 ([#3807](#3807)) ([49a7ae5](49a7ae5)) * Upgrade Protobuf-Java to v3.25.8 ([#3810](#3810)) ([ab90662](ab90662)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
lqiu96 pushed a commit that referenced this pull request Aug 27, 2025
🤖 I have created a release *beep* *boop* --- <details><summary>2.59.0</summary> ## [2.59.0](v2.58.0...v2.59.0) (2025-06-02) ### Features * add logic to set universe domain to ServiceAccountJwtAccessCredentials ([#3806](#3806)) ([5b45708](5b45708)) * use debian base image for `java-library-generation` ([#3817](#3817)) ([94d0b30](94d0b30)) ### Bug Fixes * manage graalvm image versions via Hermetic Build templates _only_ ([#3800](#3800)) ([244c5dc](244c5dc)) ### Dependencies * update dependency com.google.oauth-client:google-oauth-client-bom to v1.39.0 ([#3813](#3813)) ([196a7ca](196a7ca)) * update google api dependencies ([#3791](#3791)) ([45ef2e0](45ef2e0)) * update google auth library dependencies to v1.36.0 ([#3814](#3814)) ([07f834a](07f834a)) * update grpc dependencies to 1.71.0 ([#3807](#3807)) ([49a7ae5](49a7ae5)) * Upgrade Protobuf-Java to v3.25.8 ([#3810](#3810)) ([ab90662](ab90662)) </details> --- This PR was generated with [Release Please](https://github.com/googleapis/release-please). See [documentation](https://github.com/googleapis/release-please#release-please). Co-authored-by: release-please[bot] <55107282+release-please[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size: m Pull request size is medium.

4 participants