Please answer these questions before submitting your issue.

### What version of gRPC are you using?

### What version of Go are you using (`go version`)?

### What operating system (Linux, Windows, …) and version?

### What did you do?
If possible, provide a recipe for reproducing the error.

### What did you expect to see?

### What did you see instead?
