From da3793123b41dfcf02922bd9fa2396efa4e1c70b Mon Sep 17 00:00:00 2001 From: criyle Date: Mon, 4 Mar 2024 07:19:55 +0000 Subject: [PATCH] grpc: add grpc msg size config and set default to 64m fix #96 --- cmd/go-judge/config/config.go | 15 ++++++++------- cmd/go-judge/main.go | 1 + 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cmd/go-judge/config/config.go b/cmd/go-judge/config/config.go index 4068254..ace6079 100644 --- a/cmd/go-judge/config/config.go +++ b/cmd/go-judge/config/config.go @@ -38,13 +38,14 @@ type Config struct { FileTimeout time.Duration `flagUsage:"specified timeout for filestore files"` // server config - HTTPAddr string `flagUsage:"specifies the http binding address"` - EnableGRPC bool `flagUsage:"enable gRPC endpoint"` - GRPCAddr string `flagUsage:"specifies the grpc binding address"` - MonitorAddr string `flagUsage:"specifies the metrics binding address"` - AuthToken string `flagUsage:"bearer token auth for REST / gRPC"` - EnableDebug bool `flagUsage:"enable debug endpoint"` - EnableMetrics bool `flagUsage:"enable prometheus metrics endpoint"` + HTTPAddr string `flagUsage:"specifies the http binding address"` + EnableGRPC bool `flagUsage:"enable gRPC endpoint"` + GRPCAddr string `flagUsage:"specifies the grpc binding address"` + MonitorAddr string `flagUsage:"specifies the metrics binding address"` + AuthToken string `flagUsage:"bearer token auth for REST / gRPC"` + GRPCMsgSize *envexec.Size `flagUsage:"message size limit for gRPC message" default:"64m"` + EnableDebug bool `flagUsage:"enable debug endpoint"` + EnableMetrics bool `flagUsage:"enable prometheus metrics endpoint"` // logger config Release bool `flagUsage:"release level of logs"` diff --git a/cmd/go-judge/main.go b/cmd/go-judge/main.go index e52177e..f4cba72 100644 --- a/cmd/go-judge/main.go +++ b/cmd/go-judge/main.go @@ -365,6 +365,7 @@ func newGRPCServer(conf *config.Config, esServer pb.ExecutorServer) *grpc.Server grpcServer := grpc.NewServer( grpc.StreamInterceptor(grpc_middleware.ChainStreamServer(streamMiddleware...)), grpc.UnaryInterceptor(grpc_middleware.ChainUnaryServer(unaryMiddleware...)), + grpc.MaxRecvMsgSize(int(conf.GRPCMsgSize.Byte())), ) pb.RegisterExecutorServer(grpcServer, esServer) grpc_prometheus.Register(grpcServer)