Skip to content

Commit 03b1989

Browse files
committed
Fix: grpc: received message larger than max
Signed-off-by: Xinfeng Liu <[email protected]>
1 parent 03ed627 commit 03b1989

File tree

8 files changed

+28
-9
lines changed

8 files changed

+28
-9
lines changed

cmd/swarmctl/cluster/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/docker/swarmkit/api"
1010
"github.com/docker/swarmkit/cmd/swarmctl/common"
1111
"github.com/spf13/cobra"
12+
"google.golang.org/grpc"
1213
)
1314

1415
var (
@@ -31,7 +32,8 @@ var (
3132
if err != nil {
3233
return err
3334
}
34-
r, err := c.ListClusters(common.Context(cmd), &api.ListClustersRequest{})
35+
r, err := c.ListClusters(common.Context(cmd), &api.ListClustersRequest{},
36+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
3537
if err != nil {
3638
return err
3739
}

cmd/swarmctl/common/common.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package common
33
import (
44
"context"
55
"crypto/tls"
6+
"math"
67
"net"
78
"strings"
89
"time"
@@ -15,6 +16,8 @@ import (
1516
"google.golang.org/grpc/credentials"
1617
)
1718

19+
const DefaultRecvSizeForListResponse = math.MaxInt32
20+
1821
// Dial establishes a connection and creates a client.
1922
// It infers connection parameters from CLI options.
2023
func Dial(cmd *cobra.Command) (api.ControlClient, error) {

cmd/swarmctl/config/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/dustin/go-humanize"
1313
gogotypes "github.com/gogo/protobuf/types"
1414
"github.com/spf13/cobra"
15+
"google.golang.org/grpc"
1516
)
1617

1718
type configSorter []*api.Config
@@ -50,7 +51,8 @@ var (
5051
return err
5152
}
5253

53-
resp, err := client.ListConfigs(common.Context(cmd), &api.ListConfigsRequest{})
54+
resp, err := client.ListConfigs(common.Context(cmd), &api.ListConfigsRequest{},
55+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
5456
if err != nil {
5557
return err
5658
}

cmd/swarmctl/network/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/docker/swarmkit/api"
1010
"github.com/docker/swarmkit/cmd/swarmctl/common"
1111
"github.com/spf13/cobra"
12+
"google.golang.org/grpc"
1213
)
1314

1415
var (
@@ -31,7 +32,8 @@ var (
3132
if err != nil {
3233
return err
3334
}
34-
r, err := c.ListNetworks(common.Context(cmd), &api.ListNetworksRequest{})
35+
r, err := c.ListNetworks(common.Context(cmd), &api.ListNetworksRequest{},
36+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
3537
if err != nil {
3638
return err
3739
}

cmd/swarmctl/node/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/docker/swarmkit/api"
1010
"github.com/docker/swarmkit/cmd/swarmctl/common"
1111
"github.com/spf13/cobra"
12+
"google.golang.org/grpc"
1213
)
1314

1415
var (
@@ -31,7 +32,8 @@ var (
3132
if err != nil {
3233
return err
3334
}
34-
r, err := c.ListNodes(common.Context(cmd), &api.ListNodesRequest{})
35+
r, err := c.ListNodes(common.Context(cmd), &api.ListNodesRequest{},
36+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
3537
if err != nil {
3638
return err
3739
}

cmd/swarmctl/secret/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/dustin/go-humanize"
1313
gogotypes "github.com/gogo/protobuf/types"
1414
"github.com/spf13/cobra"
15+
"google.golang.org/grpc"
1516
)
1617

1718
type secretSorter []*api.Secret
@@ -50,7 +51,8 @@ var (
5051
return err
5152
}
5253

53-
resp, err := client.ListSecrets(common.Context(cmd), &api.ListSecretsRequest{})
54+
resp, err := client.ListSecrets(common.Context(cmd), &api.ListSecretsRequest{},
55+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
5456
if err != nil {
5557
return err
5658
}

cmd/swarmctl/service/list.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/docker/swarmkit/api"
1010
"github.com/docker/swarmkit/cmd/swarmctl/common"
1111
"github.com/spf13/cobra"
12+
"google.golang.org/grpc"
1213
)
1314

1415
var (
@@ -31,12 +32,14 @@ var (
3132
if err != nil {
3233
return err
3334
}
34-
r, err := c.ListServices(common.Context(cmd), &api.ListServicesRequest{})
35+
r, err := c.ListServices(common.Context(cmd), &api.ListServicesRequest{},
36+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
3537
if err != nil {
3638
return err
3739
}
3840

39-
nr, err := c.ListNodes(common.Context(cmd), &api.ListNodesRequest{})
41+
nr, err := c.ListNodes(common.Context(cmd), &api.ListNodesRequest{},
42+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
4043
if err != nil {
4144
return err
4245
}
@@ -50,7 +53,8 @@ var (
5053
var output func(j *api.Service)
5154

5255
if !quiet {
53-
tr, err := c.ListTasks(common.Context(cmd), &api.ListTasksRequest{})
56+
tr, err := c.ListTasks(common.Context(cmd), &api.ListTasksRequest{},
57+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
5458
if err != nil {
5559
return err
5660
}

cmd/swarmctl/task/list.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/docker/swarmkit/api"
1010
"github.com/docker/swarmkit/cmd/swarmctl/common"
1111
"github.com/spf13/cobra"
12+
"google.golang.org/grpc"
1213
)
1314

1415
var (
@@ -36,7 +37,8 @@ var (
3637
if err != nil {
3738
return err
3839
}
39-
r, err := c.ListTasks(common.Context(cmd), &api.ListTasksRequest{})
40+
r, err := c.ListTasks(common.Context(cmd), &api.ListTasksRequest{},
41+
grpc.MaxCallRecvMsgSize(common.DefaultRecvSizeForListResponse))
4042
if err != nil {
4143
return err
4244
}

0 commit comments

Comments
 (0)