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

Current state of master breaks programs that link to the etcd3 client #7763

Closed
aaronjwood opened this issue Apr 18, 2017 · 6 comments
Closed

Comments

@aaronjwood
Copy link

aaronjwood commented Apr 18, 2017

We're seeing an issue when doing a go get ./... today:

# github.com/grpc-ecosystem/grpc-gateway/runtime
../github.com/grpc-ecosystem/grpc-gateway/runtime/context.go:99: undefined: metadata.NewOutgoingContext

When trying to build our project (just a plain go build) that uses etcdv3 we hit the same thing:

# github.com/grpc-ecosystem/grpc-gateway/runtime
../../../github.com/grpc-ecosystem/grpc-gateway/runtime/context.go:99: undefined: metadata.NewOutgoingContext

Please let me know if I should submit this issue upstream to grpc-gateway instead.

@aaronjwood aaronjwood changed the title Current state of master breaks programs when building that link to etcd Current state of master breaks programs that link to etcd Apr 18, 2017
@heyitsanthony
Copy link
Contributor

heyitsanthony commented Apr 18, 2017

@aaronjwood don't build against master; etcd master itself is unstable and tracking upstream means vendoring unstable / non-release revisions. Use vendoring if you don't want this kind of breakage. etcd binaries can be built with vendored libaries using go get github.com/coreos/cmd/etcd.

@aaronjwood
Copy link
Author

So if we import github.com/coreos/etcd/clientv3 and do a go get ./... based on that you're saying we should expect things to break every so often?

@heyitsanthony
Copy link
Contributor

@aaronjwood Yes. There's no way to keep all dependencies perfectly in sync if everything is being fetched from master. Vendoring solves this issue. Use glide or godep or govendor to manage dependencies.

@aaronjwood aaronjwood changed the title Current state of master breaks programs that link to etcd Current state of master breaks programs that link to the etcd3 client Apr 18, 2017
@aaronjwood
Copy link
Author

I didn't realize that master was an unstable branch. We'll have to figure out some vendoring strategy internally I guess...

@tmc
Copy link

tmc commented Apr 18, 2017

It appears that a current glide install; go build works on HEAD for this repository. The current vendored versions of grpc-gateway and grpc in etcd do not have metadata.NewOutgoingContext.

@heyitsanthony
Copy link
Contributor

Vendoring is the workaround here. etcd will update grpc when there's a new release. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants