Skip to content

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

@roger2hk

Description

@roger2hk

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency filetype/bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions