-
Notifications
You must be signed in to change notification settings - Fork 385
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
Build error with google.golang.org/grpc v1.30.0 #2195
Comments
Yeah, this has been the source of some headache trying to keep deps up-to-date, and is why we're still pinned to v1.29.1 in the @Martin2112 is more familiar with this than I am, but I think we're kinda stuck until upstream {etcd, grpc, proto} do something which works together and we can bump. |
Yes I don't think etcd can build with this version of gRPC. It looks like they're considering solutions: etcd-io/etcd#12124 Unfortunately, grpc/naming tends to leak into usages of clientv3/naming e.g. in the CTFE main.go. I can see further compatibility headaches resulting from whatever changes are made upstream. |
## Motivation Closes #2133 Closes #2104 ## Changes - Upgrade to spacemesh API v1.0.0. Major API changes include: - split account state into current/projected (spacemeshos/api#111) - align node error types with zapcore error types (spacemeshos/api#102) - harmonize layernum type as uint32 (spacemeshos/api#120) - add an unimplemented SmesherService endpoint (EstimatedRewards) (spacemeshos/api#101) - Upgrade google modules (required by API) ## Test Plan No new tests are needed. No new functionality has been added to the API. Existing tests have been updated. ## Documentation There are no docs to update. Master API docs live in the API repository and have already been updated. Implementation docs are still a work in progress in #2083. ## TODO - [x] Finish upgrading API code Note: Google modules were upgraded because cmd/sync imports google.golang.org/api/option, and the version it was importing was incompatible with google.golang.org/grpc >= v1.30.0. More info here: - google/trillian#2195 - etcd-io/etcd#12124 Here's the error I was getting: ``` > go mod tidy go: finding module for package google.golang.org/grpc/naming github.com/spacemeshos/go-spacemesh/cmd/sync imports google.golang.org/api/option imports google.golang.org/api/internal imports google.golang.org/grpc/naming: module google.golang.org/grpc@latest found (v1.32.0), but does not contain package google.golang.org/grpc/naming ``` For reference here are the API changes: spacemeshos/api@49b94a5...v1.0.0
I looked into this last week but without some invasive (and breaking-change) refactoring to move our etcd integration into a separate (optional) Trillian Go module, we're stuck until etcd push out a release which fixes this. Even if we take this refactoring work on, anyone that wants to deploy with this optional etcd module will still find themselves in the same situation. My understanding is that a significant number (most?) Trillian deployments use etcd so this is hard to justify. If etcd usage was the exception rather than the norm for Trillian I could be persuaded to take on this side quest. |
Closes #2133 Closes #2104 - Upgrade to spacemesh API v1.0.0. Major API changes include: - split account state into current/projected (spacemeshos/api#111) - align node error types with zapcore error types (spacemeshos/api#102) - harmonize layernum type as uint32 (spacemeshos/api#120) - add an unimplemented SmesherService endpoint (EstimatedRewards) (spacemeshos/api#101) - Upgrade google modules (required by API) No new tests are needed. No new functionality has been added to the API. Existing tests have been updated. There are no docs to update. Master API docs live in the API repository and have already been updated. Implementation docs are still a work in progress in #2083. - [x] Finish upgrading API code Note: Google modules were upgraded because cmd/sync imports google.golang.org/api/option, and the version it was importing was incompatible with google.golang.org/grpc >= v1.30.0. More info here: - google/trillian#2195 - etcd-io/etcd#12124 Here's the error I was getting: ``` > go mod tidy go: finding module for package google.golang.org/grpc/naming github.com/spacemeshos/go-spacemesh/cmd/sync imports google.golang.org/api/option imports google.golang.org/api/internal imports google.golang.org/grpc/naming: module google.golang.org/grpc@latest found (v1.32.0), but does not contain package google.golang.org/grpc/naming ``` For reference here are the API changes: spacemeshos/api@49b94a5...v1.0.0
I'm looking into this today. I think I'm making some progress. |
Trillian has been stuck on grpc < 1.30 - google#2195. This uses the v3 version of etcd which isn't using the experimental (and now deleted) grpc APIs I've deleted the prometheus etcdiscover tool in this commit. This can be re-added if we believe it's used, and we can find a way to test it. The upgrade path for this looks non-trivial.
Trillian has been stuck on grpc < 1.30 - #2195. This uses the v3 version of etcd which isn't using the experimental (and now deleted) grpc APIs I've deleted the prometheus `etcdiscover` tool in this commit. This can be re-added if it is used, and we can find a way to test it. The upgrade path for this looks non-trivial (the etcd watcher API has changed significantly).
This is fixed in #2376. |
It looks like grpc-go removed google.golang.org/grpc/naming:
../../go/pkg/mod/go.etcd.io/etcd@v0.0.0-20200513171258-e048e166ab9c/clientv3/naming/grpc.go:25:2: module google.golang.org/grpc@latest found (v1.30.0), but does not contain package google.golang.org/grpc/naming
The text was updated successfully, but these errors were encountered: