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

bigquery, spanner: dependency upgrades broken. #11344

Closed
tritone opened this issue Dec 23, 2024 · 8 comments
Closed

bigquery, spanner: dependency upgrades broken. #11344

tritone opened this issue Dec 23, 2024 · 8 comments
Assignees
Labels
api: bigtable Issues related to the Bigtable API. api: spanner Issues related to the Spanner API. api: storage Issues related to the Cloud Storage API. priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.

Comments

@tritone
Copy link
Contributor

tritone commented Dec 23, 2024

Client

storage, spanner, and bigtable

Environment

any

Code and Dependencies

go get -u cloud.google.com/go/storage

Summary

Updating dependencies via go get fails with the following:

$ go get -u cloud.google.com/go/storage
go: cloud.google.com/go/storage imports
        google.golang.org/grpc/xds/googledirectpath imports
        google.golang.org/grpc/internal/xds/bootstrap imports
        github.com/envoyproxy/go-control-plane/envoy/config/core/v3: ambiguous import: found package github.com/envoyproxy/go-control-plane/envoy/config/core/v3 in multiple modules:
        github.com/envoyproxy/go-control-plane v0.13.1 (/Users/6004148/.local/share/go/pkg/mod/github.com/envoyproxy/[email protected]/envoy/config/core/v3)
        github.com/envoyproxy/go-control-plane/envoy v1.32.2 (/Users/6004148/.local/share/go/pkg/mod/github.com/envoyproxy/go-control-plane/[email protected]/config/core/v3)

Bigtable and spanner modules also have github.com/envoyproxy/go-control-plane as an indirect dependency and so also fail for the same reason.

This was caused by envoyproxy/go-control-plane#714 which split the module into submodules. This was released today in https://github.com/envoyproxy/go-control-plane/releases/tag/envoy%2Fv1.32.2 . An issue has been filed on the repo here: envoyproxy/go-control-plane#1074

Workaround

The bad release can be excluded from your go.mod as follows:

go mod edit --exclude=github.com/envoyproxy/[email protected]

This should unblock things for the immediate term.

We will need the issue to be fixed in envoyproxy/go-control-plane, and then we'll do a new release of the affected modules in google-cloud-go in order to fully resolve the issue.

@tritone tritone added the triage me I really want to be triaged. label Dec 23, 2024
@tritone tritone self-assigned this Dec 23, 2024
@tritone tritone added type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns. priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. api: bigtable Issues related to the Bigtable API. api: storage Issues related to the Cloud Storage API. api: spanner Issues related to the Spanner API. and removed triage me I really want to be triaged. labels Dec 23, 2024
tritone added a commit to tritone/storage-shared-benchmarking that referenced this issue Dec 27, 2024
Includes fix for another dependency issue,
googleapis/google-cloud-go#11344
tritone added a commit to googleapis/storage-shared-benchmarking that referenced this issue Dec 27, 2024
jcscottiii added a commit to GoogleChrome/webstatus.dev that referenced this issue Dec 30, 2024
This updates all of the go modules.

I had to manually run these workarounds for the first time before make go-update and make go-tidy would work:
- googleapis/google-cloud-go#11283 (comment)
- googleapis/google-cloud-go#11344
github-merge-queue bot pushed a commit to GoogleChrome/webstatus.dev that referenced this issue Dec 30, 2024
This updates all of the go modules.

I had to manually run these workarounds for the first time before make go-update and make go-tidy would work:
- googleapis/google-cloud-go#11283 (comment)
- googleapis/google-cloud-go#11344
github-merge-queue bot pushed a commit to GoogleChrome/webstatus.dev that referenced this issue Dec 30, 2024
This updates all of the go modules.

I had to manually run these workarounds for the first time before make go-update and make go-tidy would work:
- googleapis/google-cloud-go#11283 (comment)
- googleapis/google-cloud-go#11344
@valerian-roche
Copy link

Hey, this PR attempts to solve this issue, but I do not know how to validate whether it will work, given the number of import layers within the google go repositories and my limited understanding of go get -u behavior.
Is anyone with more understanding able to review it?

@BrennaEpp
Copy link
Contributor

Hey, this PR attempts to solve this issue, but I do not know how to validate whether it will work, given the number of import layers within the google go repositories and my limited understanding of go get -u behavior. Is anyone with more understanding able to review it?

Hi @valerian-roche, @codyoss from our team reviewed that PR. We can validate from the Storage side once released

@valerian-roche
Copy link

valerian-roche commented Jan 6, 2025

Hey, this PR attempts to solve this issue, but I do not know how to validate whether it will work, given the number of import layers within the google go repositories and my limited understanding of go get -u behavior. Is anyone with more understanding able to review it?

Hi @valerian-roche, @codyoss from our team reviewed that PR. We can validate from the Storage side once released

Thanks for the review. Hopefully the latest release (v0.13.4) should have addressed the issue. If not the case please reopen #1074 for me to look further

@tritone
Copy link
Contributor Author

tritone commented Jan 13, 2025

This seems to be fixed for storage since we've bumped the dependency on envoy-proxy/go-control-plane and cut a new release of storage (v1.50.0).

Will close this issue once I've confirmed it's fixed for the other libraries.

gcf-merge-on-green bot pushed a commit that referenced this issue Jan 13, 2025
Ran `github.com/envoyproxy/go-control-plane/envoy@latest && go mod tidy`.

Updates: #11344
@amacneil
Copy link

Also broken in bigquery v1.66.0

@bhshkh
Copy link
Contributor

bhshkh commented Jan 28, 2025

Bigtable fixed by @codyoss in #11444. Bigtable v1.25.0 has the fixes

@codyoss codyoss changed the title storage, spanner, bigtable: dependency upgrades broken. bigquery, spanner: dependency upgrades broken. Jan 28, 2025
@alvarowolfx
Copy link
Contributor

@amacneil do you have more details on how to reproduce it with BigQuery ? Are you also using Storage on the same project. I tried to reproduce here with bigquery v1.66.0 and couldn't do it. Just tried with an empty project or upgrade another project here, and both worked just fine. Not sure if I'm missing something to reproduce here on my end.

@tritone
Copy link
Contributor Author

tritone commented Jan 30, 2025

The spanner release also went out yesterday, so I think this issue should be resolved now.

Please open a new issue if you run into any further blockers on updating any of these packages (storage, spanner, bigquery, bigtable).

@tritone tritone closed this as completed Jan 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: bigtable Issues related to the Bigtable API. api: spanner Issues related to the Spanner API. api: storage Issues related to the Cloud Storage API. priority: p1 Important issue which blocks shipping the next release. Will be fixed prior to next release. type: bug Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Projects
None yet
Development

No branches or pull requests

6 participants