From 993d4b8fc5d00cca78115befed48cfe5643701fe Mon Sep 17 00:00:00 2001 From: Derek McGowan Date: Fri, 1 Jun 2018 16:21:53 -0700 Subject: [PATCH] Ignore zero max message size in grpc config Fixes upgrade issue where existing configs cause the max message size to get set to 0. Signed-off-by: Derek McGowan --- services/server/server.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/services/server/server.go b/services/server/server.go index d6e22cb71..33d4b6c75 100644 --- a/services/server/server.go +++ b/services/server/server.go @@ -66,12 +66,18 @@ func New(ctx context.Context, config *Config) (*Server, error) { if err != nil { return nil, err } - rpc := grpc.NewServer( - grpc.MaxRecvMsgSize(config.GRPC.MaxRecvMsgSize), - grpc.MaxSendMsgSize(config.GRPC.MaxSendMsgSize), + + serverOpts := []grpc.ServerOption{ grpc.UnaryInterceptor(grpc_prometheus.UnaryServerInterceptor), grpc.StreamInterceptor(grpc_prometheus.StreamServerInterceptor), - ) + } + if config.GRPC.MaxRecvMsgSize > 0 { + serverOpts = append(serverOpts, grpc.MaxRecvMsgSize(config.GRPC.MaxRecvMsgSize)) + } + if config.GRPC.MaxSendMsgSize > 0 { + serverOpts = append(serverOpts, grpc.MaxSendMsgSize(config.GRPC.MaxSendMsgSize)) + } + rpc := grpc.NewServer(serverOpts...) var ( services []plugin.Service s = &Server{