-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
grpc.RoundRobin and grpc.WithBalancer no longer exist #441
Comments
Line 21 in 64f53cc
|
We're not yet using go modules in the test cases which we saw this failure with, so that might explain why pinning within google-api-go-client/go.mod didn't have an effect for our use case. Is it expected, then, that this change will break users who aren't using go modules? |
This change will break users who are using go modules as well due to MVS. Unfortunately, these APIs must be removed. They were marked as experimental since v1.0 and have been marked with deprecation tags for 6 months. Removing them is allowed under the grpc-go versioning policy. |
@menghanl -- Is it possible to confirm (or check) that using go modules will fix this issue? If so, is that our only work-around. I'm a bit hesitant to attempt to adopt go modules right now if it won't necessarily provide a fix. |
If you use go modules in your own project, you can pin a specific version, which would work: https://github.com/golang/go/wiki/Modules#when-should-i-use-the-replace-directive Alternatively, you could vendor grpc at an older version. |
Thanks. I'll work on switching to using go modules. Perhaps my team missed some sign that this was coming, but it's been a difficult surprise for us. Since it seems like this library now exclusively supports users who also use go modules, it would be nice to see that mentioned on the README.md for this repo. If it's documented somewhere else, a pointer to that documentation would be great. |
Any updated on this? it is blocking production google cloud build. if changing to go Mod is going to take time and can grpc team rollback this commit and make those api available as quick fix? In my docker file , I have following Lines
I am getting following error . Everything was working fine 3 days before.
Step 9/17 : RUN go get google.golang.org/api/option
|
* Correct name of HTTP response status 415 * Update dependencies * Attempt to workaround googleapis/google-api-go-client#441 * Fix response header validation panic When design incorrectly omits corresponding result attribute * Fix build
Update:
|
This works around build issues with this not-yet-updated module: googleapis/google-api-go-client#441
FYI: to pin gRPC to the latest released version (before the symbols were removed), use:
|
NOTE: this will only work on a top-level |
Sent #442 to remove the usages of the experimental gRPC API. Anyone depending on this experimental API will be broken, but users not depending on them will be unbroken. |
i made line 153 and 154 as command that is the one that causing the issue : kind regards Niek Tuytel `// Copyright 2017 Google LLC. // Package option contains options for Google API clients. import (
) // A ClientOption is an option for a Google API client. // WithTokenSource returns a ClientOption that specifies an OAuth2 token type withTokenSource struct{ ts oauth2.TokenSource } func (w withTokenSource) Apply(o *internal.DialSettings) { type withCredFile string func (w withCredFile) Apply(o *internal.DialSettings) { // WithCredentialsFile returns a ClientOption that authenticates // WithServiceAccountFile returns a ClientOption that uses a Google service // WithCredentialsJSON returns a ClientOption that authenticates type withCredentialsJSON []byte func (w withCredentialsJSON) Apply(o *internal.DialSettings) { // WithEndpoint returns a ClientOption that overrides the default endpoint type withEndpoint string func (w withEndpoint) Apply(o *internal.DialSettings) { // WithScopes returns a ClientOption that overrides the default OAuth2 scopes type withScopes []string func (w withScopes) Apply(o *internal.DialSettings) { // WithUserAgent returns a ClientOption that sets the User-Agent. type withUA string func (w withUA) Apply(o *internal.DialSettings) { o.UserAgent = string(w) } // WithHTTPClient returns a ClientOption that specifies the HTTP client to use type withHTTPClient struct{ client *http.Client } func (w withHTTPClient) Apply(o *internal.DialSettings) { // WithGRPCConn returns a ClientOption that specifies the gRPC client type withGRPCConn struct{ conn *grpc.ClientConn } func (w withGRPCConn) Apply(o *internal.DialSettings) { // WithGRPCDialOption returns a ClientOption that appends a new grpc.DialOption type withGRPCDialOption struct{ opt grpc.DialOption } func (w withGRPCDialOption) Apply(o *internal.DialSettings) { // WithGRPCConnectionPool returns a ClientOption that creates a pool of gRPC type withGRPCConnectionPool int func (w withGRPCConnectionPool) Apply(o *internal.DialSettings) { // WithAPIKey returns a ClientOption that specifies an API key to be used type withAPIKey string func (w withAPIKey) Apply(o *internal.DialSettings) { o.APIKey = string(w) } // WithAudiences returns a ClientOption that specifies an audience to be used type withAudiences []string func (w withAudiences) Apply(o *internal.DialSettings) { // WithoutAuthentication returns a ClientOption that specifies that no type withoutAuthentication struct{} func (w withoutAuthentication) Apply(o *internal.DialSettings) { o.NoAuth = true } // WithQuotaProject returns a ClientOption that specifies the project used type withQuotaProject string func (w withQuotaProject) Apply(o *internal.DialSettings) { // WithRequestReason returns a ClientOption that specifies a reason for type withRequestReason string func (w withRequestReason) Apply(o *internal.DialSettings) { // WithTelemetryDisabled returns a ClientOption that disables default telemetry (OpenCensus) type withTelemetryDisabledOption struct{} func (w withTelemetryDisabledOption) Apply(o *internal.DialSettings) { |
this is what i did and work for me |
this also broke the googles own docs api for sheets. |
E2E test is broken, because it depends on google.golang.org/api/compute/v1, which depends on google.golang.org/api/option, which is currently broken for all users who are not using go modules (googleapis/google-api-go-client#441). This should allow our E2E test to pass again. PiperOrigin-RevId: 289478716
I am unable to switch to Go Modules right now and this has our Production systems down! PLEASE FIX!!!!! |
I appreciate the quick response from everyone! |
This allows a ConnPool to be passed directly into the constructor of gRPC stub clients. Updates #441. (also, update vet.sh to use go1.13 not go1.12) Change-Id: Ibf83dfceb90b69099d7cca3b338f81f9cc26dc40 Reviewed-on: https://code-review.googlesource.com/c/google-api-go-client/+/51392 Reviewed-by: Noah Dietz <ndietz@google.com> Reviewed-by: Tyler Bui-Palsulich <tbp@google.com>
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
) Connection pooling via gtransport.Dial will be removed soon. See googleapis/google-api-go-client#441
Removes references to Dial from hand-written clients (GAPICs will be migrated soon with a change to the generator). longrunning/autogen.InternalFromConn is deprecated. Updates googleapis/google-api-go-client#441. Change-Id: I49db1812b39c5c04aea58068c53467155f3570d3 Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/51395 Reviewed-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Tyler Bui-Palsulich <tbp@google.com> Reviewed-by: Noah Dietz <ndietz@google.com>
Generated constructor now uses gtransport.DialPool. See googleapis/google-api-go-client#441 Change-Id: Icd24e41e54dcd7e31e2cb526abc978192ad4a00d Reviewed-on: https://code-review.googlesource.com/c/gocloud/+/51630 Reviewed-by: Noah Dietz <ndietz@google.com>
Quick update... Next steps:
|
We are using this library and seeing these errors:
../google.golang.org/api/option/option.go:153:14: undefined: grpc.RoundRobin
../google.golang.org/api/option/option.go:154:42: undefined: grpc.WithBalancer
Sounds like gRPC removed these legacy APIs: grpc/grpc-go@336cf8d
The text was updated successfully, but these errors were encountered: