Skip to content

Commit

Permalink
etcdserver: Let clients establish unlimited streams
Browse files Browse the repository at this point in the history
From go-grpc v1.2.0, the number of max streams per client is set to 100
by default by the server side. This change makes it impossible
for third party proxies and custom clients to establish many streams.
  • Loading branch information
Iwasaki Yudai committed Jul 10, 2017
1 parent 69e8a92 commit c7c6aa4
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion etcdserver/api/v3rpc/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ package v3rpc

import (
"crypto/tls"
"math"

"github.com/coreos/etcd/etcdserver"
pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
Expand All @@ -27,7 +28,10 @@ import (
healthpb "google.golang.org/grpc/health/grpc_health_v1"
)

const grpcOverheadBytes = 512 * 1024
const (
grpcOverheadBytes = 512 * 1024
maxStreams = math.MaxUint32
)

func init() {
grpclog.SetLogger(plog)
Expand All @@ -42,6 +46,7 @@ func Server(s *etcdserver.EtcdServer, tls *tls.Config) *grpc.Server {
opts = append(opts, grpc.UnaryInterceptor(newUnaryInterceptor(s)))
opts = append(opts, grpc.StreamInterceptor(newStreamInterceptor(s)))
opts = append(opts, grpc.MaxMsgSize(int(s.Cfg.MaxRequestBytes+grpcOverheadBytes)))
opts = append(opts, grpc.MaxConcurrentStreams(maxStreams))
grpcServer := grpc.NewServer(opts...)

pb.RegisterKVServer(grpcServer, NewQuotaKVServer(s))
Expand Down

0 comments on commit c7c6aa4

Please sign in to comment.