since "github.com/coreos/etcd/clientv3" has been redirected to the "go.etcd.io/etcd",why "go-micro/registry/etcd/etcd.go" still import "github.com/coreos/etcd/clientv3",so we have to change it by ourselves?
Because we're using a version in go modules which has not changed. We make use of etcd concurrency package which still causes issues.
@asim thank you so much
I think I have a related error (not sure?).
I cannot install go-micro:
Install command go get github.com/micro/go-micro
Output:
go: downloading github.com/go-log/log v0.1.0
go: downloading github.com/lucas-clemente/quic-go v0.14.1
go: downloading github.com/cheekybits/genny v1.0.0
go: downloading github.com/marten-seemann/qtls v0.4.1
go: downloading github.com/marten-seemann/chacha20 v0.2.0
# github.com/coreos/etcd/clientv3/balancer/picker
..\..\..\..\..\pkg\mod\github.com\coreos\[email protected]+incompatible\clientv3\balancer\picker\err.go:37:44: undefined: balancer.PickOptions
..\..\..\..\..\pkg\mod\github.com\coreos\[email protected]+incompatible\clientv3\balancer\picker\roundrobin_balanced.go:55:54: undefined: balancer.PickOptions
# github.com/coreos/etcd/clientv3/balancer/resolver/endpoint
..\..\..\..\..\pkg\mod\github.com\coreos\[email protected]+incompatible\clientv3\balancer\resolver\endpoint\endpoint.go:114:78: undefined: resolver.BuildOption
..\..\..\..\..\pkg\mod\github.com\coreos\[email protected]+incompatible\clientv3\balancer\resolver\endpoint\endpoint.go:182:31: undefined: resolver.ResolveNowOption
Are there any known work-arounds?
Please use go modules?
I have tried with modules and without, does not install. Seems to be a problem in the etcd package and not this, so I guess I have to wait to try out Go Micro until they resolve the issue.
We have zero issues. All our builds pass and anyone using the versions of go-micro we have with our go modules it works. You need to ensure you dont have any residual stuff causing issues. go clean modcache.
use go modules,it works fine
Related issue: https://github.com/etcd-io/etcd/issues/11721
For me with or without modules does not work. Maybe because I am using a newer gRPC version (according to the related issue), I will try to investigate a bit more.
EDIT:
Ok, I have figured out a solution that worked for me.
First I installed an older version of gRPC:
go get google.golang.org/[email protected]
and then i rechecked the mod file:
go mod tidy
This did the trick for me!
Related issue: etcd-io/etcd#11721
For me with or without modules does not work. Maybe because I am using a newer gRPC version (according to the related issue), I will try to investigate a bit more.
EDIT:
Ok, I have figured out a solution that worked for me.
First I installed an older version of gRPC:
go get google.golang.org/[email protected]
and then i rechecked the mod file:
go mod tidy
This did the trick for me!
Thanks for the workaround. It stressed me to solve this before. Seems like downgrading to lower version does well.
@PatrLind this can fix you issue
replace github.com/coreos/etcd => github.com/ozonru/etcd v3.3.20-grpc1.27-origmodule+incompatible
Most helpful comment
Related issue: https://github.com/etcd-io/etcd/issues/11721
For me with or without modules does not work. Maybe because I am using a newer gRPC version (according to the related issue), I will try to investigate a bit more.
EDIT:
Ok, I have figured out a solution that worked for me.
First I installed an older version of gRPC:
go get google.golang.org/[email protected]and then i rechecked the mod file:
go mod tidyThis did the trick for me!