Skip to content

Commit bf968a4

Browse files
Merge pull request moby#4969 from tonistiigi/grpc-control-api-sizes
2 parents 26bc31b + 29b4b1a commit bf968a4

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

cmd/buildkitd/main.go

+3
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import (
1515
"strings"
1616
"sync"
1717

18+
"github.com/containerd/containerd/defaults"
1819
"github.com/containerd/containerd/pkg/seed" //nolint:staticcheck // SA1019 deprecated
1920
"github.com/containerd/containerd/pkg/userns"
2021
"github.com/containerd/containerd/platforms"
@@ -289,6 +290,8 @@ func main() {
289290
grpc.StatsHandler(statsHandler),
290291
grpc.ChainUnaryInterceptor(unaryInterceptor, grpcerrors.UnaryServerInterceptor),
291292
grpc.StreamInterceptor(grpcerrors.StreamServerInterceptor),
293+
grpc.MaxRecvMsgSize(defaults.DefaultMaxRecvMsgSize),
294+
grpc.MaxSendMsgSize(defaults.DefaultMaxSendMsgSize),
292295
}
293296
server := grpc.NewServer(opts...)
294297

frontend/gateway/gateway.go

+8-1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import (
1414
"syscall"
1515
"time"
1616

17+
"github.com/containerd/containerd/defaults"
1718
"github.com/containerd/containerd/mount"
1819
"github.com/distribution/reference"
1920
"github.com/docker/docker/pkg/idtools"
@@ -497,7 +498,13 @@ func newBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridg
497498
func serveLLBBridgeForwarder(ctx context.Context, llbBridge frontend.FrontendLLBBridge, exec executor.Executor, workers worker.Infos, inputs map[string]*opspb.Definition, sid string, sm *session.Manager) (*llbBridgeForwarder, context.Context, error) {
498499
ctx, cancel := context.WithCancelCause(ctx)
499500
lbf := newBridgeForwarder(ctx, llbBridge, exec, workers, inputs, sid, sm)
500-
server := grpc.NewServer(grpc.UnaryInterceptor(grpcerrors.UnaryServerInterceptor), grpc.StreamInterceptor(grpcerrors.StreamServerInterceptor))
501+
serverOpt := []grpc.ServerOption{
502+
grpc.UnaryInterceptor(grpcerrors.UnaryServerInterceptor),
503+
grpc.StreamInterceptor(grpcerrors.StreamServerInterceptor),
504+
grpc.MaxRecvMsgSize(defaults.DefaultMaxRecvMsgSize),
505+
grpc.MaxSendMsgSize(defaults.DefaultMaxSendMsgSize),
506+
}
507+
server := grpc.NewServer(serverOpt...)
501508
grpc_health_v1.RegisterHealthServer(server, health.NewServer())
502509
pb.RegisterLLBBridgeServer(server, lbf)
503510

frontend/gateway/grpcclient/client.go

+12-5
Original file line numberDiff line numberDiff line change
@@ -1249,11 +1249,18 @@ func (r *reference) StatFile(ctx context.Context, req client.StatRequest) (*fsty
12491249
}
12501250

12511251
func grpcClientConn(ctx context.Context) (context.Context, *grpc.ClientConn, error) {
1252-
dialOpt := grpc.WithContextDialer(func(ctx context.Context, addr string) (net.Conn, error) {
1253-
return stdioConn(), nil
1254-
})
1255-
1256-
cc, err := grpc.DialContext(ctx, "localhost", dialOpt, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithUnaryInterceptor(grpcerrors.UnaryClientInterceptor), grpc.WithStreamInterceptor(grpcerrors.StreamClientInterceptor))
1252+
dialOpts := []grpc.DialOption{
1253+
grpc.WithContextDialer(func(ctx context.Context, addr string) (net.Conn, error) {
1254+
return stdioConn(), nil
1255+
}),
1256+
grpc.WithTransportCredentials(insecure.NewCredentials()),
1257+
grpc.WithUnaryInterceptor(grpcerrors.UnaryClientInterceptor),
1258+
grpc.WithStreamInterceptor(grpcerrors.StreamClientInterceptor),
1259+
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(16 << 20)),
1260+
grpc.WithDefaultCallOptions(grpc.MaxCallSendMsgSize(16 << 20)),
1261+
}
1262+
1263+
cc, err := grpc.DialContext(ctx, "localhost", dialOpts...)
12571264
if err != nil {
12581265
return nil, nil, errors.Wrap(err, "failed to create grpc client")
12591266
}

0 commit comments

Comments
 (0)