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

go.etcd.io/etcd/pkg/v3/grpc_testing compatibility with google.golang.org/grpc since v1.55.0 #15877

Closed
roger2hk opened this issue May 11, 2023 · 14 comments
Labels
dependencies Pull requests that update a dependency file type/bug

Comments

@roger2hk
Copy link

What happened?

According to grpc/grpc-go#6264, package was moved from test/grpc_testing to /interop/grpc_testing in grpc/grpc-go#6164 since v1.55.0. The current etcd/pkg/go.mod depends on google.golang.org/grpc v1.51.0.

testpb "google.golang.org/grpc/test/grpc_testing"

The following error message happens when there are dependencies on the latest version of both go.etcd.io/etcd/v3 and google.golang.org/grpc.

go.etcd.io/etcd/v3 imports
go.etcd.io/etcd/tests/v3/integration imports
go.etcd.io/etcd/pkg/v3/grpc_testing imports
google.golang.org/grpc/test/grpc_testing: module google.golang.org/grpc@latest found (v1.55.0), but does not contain package google.golang.org/grpc/test/grpc_testing

What did you expect to happen?

Bump google.golang.org/grpc from 1.51.0 to 1.55.0 in etcd/pkg/go.mod and update the package path from test/grpc_testing to /interop/grpc_testing.

How can we reproduce it (as minimally and precisely as possible)?

Create a new Go project and then add dependencies on the latest version of both go.etcd.io/etcd/v3 and google.golang.org/grpc.

Expected to see the following when go mod tidy is executed.

go.etcd.io/etcd/v3 imports
go.etcd.io/etcd/tests/v3/integration imports
go.etcd.io/etcd/pkg/v3/grpc_testing imports
google.golang.org/grpc/test/grpc_testing: module google.golang.org/grpc@latest found (v1.55.0), but does not contain package google.golang.org/grpc/test/grpc_testing

Anything else we need to know?

Consider backward compatibility for those Go projects relying on google.golang.org/grpc before v1.55.0.

Etcd version (please run commands below)

$ etcd --version
# paste output here

$ etcdctl version
# paste output here

Etcd configuration (command line flags or environment variables)

paste your configuration here

Etcd debug information (please run commands below, feel free to obfuscate the IP address or FQDN in the output)

$ etcdctl member list -w table
# paste output here

$ etcdctl --endpoints=<member list> endpoint status -w table
# paste output here

Relevant log output

No response

@chaochn47
Copy link
Member

Hi @roger2hk, thanks for the report. There is a known gRPC incompatible issue mentioned in https://github.com/etcd-io/etcd/blob/main/Documentation/contributor-guide/dependency_management.md#about-grpc. I guess the reported issue needs to be fixed after that as well.

@roger2hk
Copy link
Author

Gotcha. Thanks for the swift reply.

@stale
Copy link

stale bot commented Aug 12, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed after 21 days if no further activity occurs. Thank you for your contributions.

@roger2hk
Copy link
Author

The commit 24c6fb4 has resolved the dependency conflict.

@roger2hk
Copy link
Author

roger2hk commented Sep 5, 2023

@chaochn47 Is this commit going to be released in v3.6.0 or possibly earlier in v3.5.10?

@ahrtr
Copy link
Member

ahrtr commented Sep 5, 2023

@chaochn47 Is this commit going to be released in v3.6.0 or possibly earlier in v3.5.10?

It has already been resolved in the main branch (target for 3.6.0), and there is no plan to backport it to 3.5.x.

@roger2hk
Copy link
Author

roger2hk commented Sep 6, 2023

@chaochn47 Is this commit going to be released in v3.6.0 or possibly earlier in v3.5.10?

It has already been resolved in the main branch (target for 3.6.0), and there is no plan to backport it to 3.5.x.

Thank you very much for the confirmation.

@rsafonseca
Copy link

rsafonseca commented Sep 11, 2023

Can we add a plan to backport it to 3.5.x @ahrtr @chaochn47?
This is a problem right now and it's not the first time we've had broken dependencies with 3.5.x (we've had similar issues with otel, see #14268), and the 3.6.0 version is not yet released and has been in alpha for way too long. We need a working stable release which doesn't have dependency problems :)

This is a very simple commit (24c6fb4 ) so this should be a very straight-forward cherry-pick :)

@ahrtr
Copy link
Member

ahrtr commented Sep 11, 2023

@rsafonseca thx for the feedback. Could you raise an issue to track it?

@chaochn47 do you have bandwidth to backport the change to 3.5? thx

EDIT: no need to raise a new ticket, I just reopened this one.

@ahrtr ahrtr reopened this Sep 11, 2023
@felipejfc
Copy link

+1 for porting this to 3.5.x. Also having problems here because of this dependency. thx!

@rsafonseca
Copy link

I can open a PR if @chaochn47 doesn't have the bandwidth :)

@ahrtr ahrtr added the dependencies Pull requests that update a dependency file label Sep 11, 2023
@chaochn47
Copy link
Member

Feel free to take it @rsafonseca. I can help review.

@rsafonseca
Copy link

rsafonseca commented Sep 13, 2023

@chaochn47 @ahrtr I've linked a PR for this, could you review? :)

@serathius
Copy link
Member

Fixed with #16781

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file type/bug
Development

No branches or pull requests

6 participants