Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DEPS: make it possible to easily bump gRPC #136684

Closed
wants to merge 8 commits into from

Conversation

tbg
Copy link
Member

@tbg tbg commented Dec 4, 2024

This PR upgrades gRPC to v1.68.0, then downgrades again to initial version v1.56.3.

This may seem like a no-op, but it has the benefit of sorting out all of the dependency wrangling that was necessary to upgrade in the first place. Downgrading was easy, and upgrading in the future will be easy as well, as we have now bumped all outdated deps to the point where they work with both gRPC versions.

We don't want to pull the trigger on the upgrade at this moment, since gRPC has become less performant at least on some dimensions and we need more time to investigate.

Touches #134971.
Epic: CRDB-43584

tbg and others added 7 commits December 4, 2024 13:02
These will fire after the gRPC bump in the subsequent commits.
from v1.56.3 to v1.68.0.

TODO: changelog
Similar but different error:

```
link: package conflict error: google.golang.org/genproto/googleapis/cloud/location: package imports google.golang.org/genproto/googleapis/api/annotations
	  was compiled with: @org_golang_google_genproto//googleapis/api/annotations:annotations
	but was linked with: @org_golang_google_genproto_googleapis_api//annotations:annotations
```

Compare with the original:

```
link: package conflict error: cloud.google.com/go/pubsub/apiv1/pubsubpb: package imports google.golang.org/genproto/googleapis/api/annotations
	  was compiled with: @org_golang_google_genproto_googleapis_api//annotations:annotations
	but was linked with: @org_golang_google_genproto//googleapis/api/annotations:annotations
```
Error unchanged from last commit. I did remember to `./dev gen bazel`.

```
link: package conflict error: google.golang.org/genproto/googleapis/cloud/location: package imports google.golang.org/genproto/googleapis/api/annotations
          was compiled with: @org_golang_google_genproto//googleapis/api/annotations:annotations
        but was linked with: @org_golang_google_genproto_googleapis_api//annotations:annotations
```
…f68ea54

See googleapis/go-genproto#1015.

Sadly grpc-gateway is incompatible with this version of `genproto`:

```
ERROR: no such package '@@org_golang_google_genproto//googleapis/api/httpbody': BUILD file not found in directory 'googleapis/api/httpbody' of external repository @@org_golang_google_genproto. Add a BUILD file to a directory to mark it as a package.
ERROR: /private/var/tmp/_bazel_tbg/b1346cddcc70d57afdaa90f7f09f9b2c/external/com_github_grpc_ecosystem_grpc_gateway/runtime/BUILD.bazel:5:11: no such package '@@org_golang_google_genproto//googleapis/api/httpbody': BUILD file not found in directory 'googleapis/api/httpbody' of external repository @@org_golang_google_genproto. Add a BUILD file to a directory to mark it as a package. and referenced by '@@com_github_grpc_ecosystem_grpc_gateway//runtime:go_default_library'
```

Since we are on the final `grpc-gateway/v1` version already[^1], we'll
have to make the leap to v2 to fix this.

[^1]: https://github.com/grpc-ecosystem/grpc-gateway/releases/tag/v1.16.0
This also adds the bytestream and rpc packages from genproto
which are required.

Epic: none
Release note: None
@tbg tbg requested review from a team as code owners December 4, 2024 13:01
@tbg tbg requested review from xinhaoz, arjunmahishi, aa-joshi and andyyang890 and removed request for a team December 4, 2024 13:01
@cockroach-teamcity
Copy link
Member

This change is Reviewable

This matches the version at the beginning of the PR.
@tbg tbg force-pushed the grpc-prepare-bump branch from 215d570 to 5a85d77 Compare December 4, 2024 13:07
@tbg
Copy link
Member Author

tbg commented Dec 4, 2024

Nevermind, ended right back in dep hell.

@tbg tbg closed this Dec 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants