Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Upgrade gRPC to 1.27.1 (latest is 1.29). This doesn't pick up anything that we need, but it claims to contain some improvements, and now is the right time in the cycle to bump if we're going to. Notable PRs (from gRPC-go's release notes): - client: fix race between client-side stream cancellation and compressed server data arriving (grpc/grpc-go#3054) - clientconn: fix potential deadlock caused by ResetConnectBackoff (grpc/grpc-go#3051) - internal: fix context leak when stream is not created successfully (grpc/grpc-go#2985) - server: set and advertise max frame size of 16KB (grpc/grpc-go#3018) - transport: block reading frames when too many transport control frames are queued (grpc/grpc-go#2970) Addresses CVE-2019-9512 (Ping Flood), CVE-2019-9514 (Reset Flood), and CVE-2019-9515 (Settings Flood). - server: avoid an unnecessary allocation per-RPC for OK status (grpc/grpc-go#2920) Special Thanks: @dzbarsky - server: avoid call to trace.FromContext and resulting allocations when tracing is disabled (grpc/grpc-go#2926) Special Thanks: @dzbarsky - http2client: remove unnecessary allocations for header fields (grpc/grpc-go#2925) Special Thanks: @dzbarsky - status: avoid allocations when returning an OK status (grpc/grpc-go#2929) Special Thanks: @dzbarsky - server: avoid allocations related to tracking excessive pings (grpc/grpc-go#2923) Special Thanks: @dzbarsky - transport: call Unlock in defer to avoid data race (grpc/grpc-go#2953) - client: fix canceled vs deadline exceeded double-check logic (grpc/grpc-go#2906) - client: fix race between transport draining and new RPCs (grpc/grpc-go#2919) Of course there was also a yak shave. Bumping grpc updates this file https://github.com/grpc/grpc-go/blob/master/health/grpc_health_v1/health.pb.go#L25 Note the IsV3 - used to be IsV2. (the file is included as a dependency via etcd) This in turn requires us to update github.com/golang/protobuf to v1.4+ At that version, `github.com/golang/protobuf/protoc-gen-go/generator/generator.go` emits a warning at `init()` time: > WARNING: Package "github.com/golang/protobuf/protoc-gen-go/generator" is deprecated. A future release of golang/protobuf will delete this package, which has long been excluded from the compatibility promise. We treat warnings as errors in protoc, so now `make protobuf` fails. I want to continue treating warnings as errors. So we also bump the importer, which is grpc-gateway: ``` go list -f '{{.ImportPath}} {{join .Imports " "}}' ./pkg/... ./vendor/... | digraph reverse github.com/cockroachdb/cockroach/vendor/github.com/golang/protobuf/protoc-gen-go/generator github.com/cockroachdb/cockroach/vendor/github.com/golang/protobuf/protoc-gen-go/generator github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/descriptor github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/generator github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-grpc-gateway/gengateway github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger github.com/cockroachdb/cockroach/vendor/github.com/grpc-ecosystem/grpc-gateway/protoc-gen-swagger/genswagger ``` That new version of grpc-gateway added a silly warning of its own, so we now use our own fork that has that warning stripped out. Release note: None
- Loading branch information