Browse Source

Merge pull request #8238 from yudai/allow_more_streams

v3rpc: Let clients establish unlimited streams
Xiang Li 8 years ago
parent
commit
0a2b580f73
1 changed files with 6 additions and 1 deletions
  1. 6 1
      etcdserver/api/v3rpc/grpc.go

+ 6 - 1
etcdserver/api/v3rpc/grpc.go

@@ -16,6 +16,7 @@ package v3rpc
 
 import (
 	"crypto/tls"
+	"math"
 
 	"github.com/coreos/etcd/etcdserver"
 	pb "github.com/coreos/etcd/etcdserver/etcdserverpb"
@@ -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)
@@ -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))