mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
cluster: set bigger grpc limit for array requests
4MB client side limit was introduced in vendoring go-grpc#1165 (v1.4.0) making these requests likely to produce errors Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
parent
b8e87cfdad
commit
489b8eda66
3 changed files with 13 additions and 5 deletions
|
@ -41,6 +41,7 @@ package cluster // import "github.com/docker/docker/daemon/cluster"
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math"
|
||||||
"net"
|
"net"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
|
@ -67,9 +68,10 @@ const stateFile = "docker-state.json"
|
||||||
const defaultAddr = "0.0.0.0:2377"
|
const defaultAddr = "0.0.0.0:2377"
|
||||||
|
|
||||||
const (
|
const (
|
||||||
initialReconnectDelay = 100 * time.Millisecond
|
initialReconnectDelay = 100 * time.Millisecond
|
||||||
maxReconnectDelay = 30 * time.Second
|
maxReconnectDelay = 30 * time.Second
|
||||||
contextPrefix = "com.docker.swarm"
|
contextPrefix = "com.docker.swarm"
|
||||||
|
defaultRecvSizeForListResponse = math.MaxInt32 // the max recv limit grpc <1.4.0
|
||||||
)
|
)
|
||||||
|
|
||||||
// NetworkSubnetsProvider exposes functions for retrieving the subnets
|
// NetworkSubnetsProvider exposes functions for retrieving the subnets
|
||||||
|
|
|
@ -23,6 +23,7 @@ import (
|
||||||
gogotypes "github.com/gogo/protobuf/types"
|
gogotypes "github.com/gogo/protobuf/types"
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetServices returns all services of a managed swarm cluster.
|
// GetServices returns all services of a managed swarm cluster.
|
||||||
|
@ -67,7 +68,9 @@ func (c *Cluster) GetServices(options apitypes.ServiceListOptions) ([]types.Serv
|
||||||
|
|
||||||
r, err := state.controlClient.ListServices(
|
r, err := state.controlClient.ListServices(
|
||||||
ctx,
|
ctx,
|
||||||
&swarmapi.ListServicesRequest{Filters: filters})
|
&swarmapi.ListServicesRequest{Filters: filters},
|
||||||
|
grpc.MaxCallRecvMsgSize(defaultRecvSizeForListResponse),
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import (
|
||||||
types "github.com/docker/docker/api/types/swarm"
|
types "github.com/docker/docker/api/types/swarm"
|
||||||
"github.com/docker/docker/daemon/cluster/convert"
|
"github.com/docker/docker/daemon/cluster/convert"
|
||||||
swarmapi "github.com/docker/swarmkit/api"
|
swarmapi "github.com/docker/swarmkit/api"
|
||||||
|
"google.golang.org/grpc"
|
||||||
)
|
)
|
||||||
|
|
||||||
// GetTasks returns a list of tasks matching the filter options.
|
// GetTasks returns a list of tasks matching the filter options.
|
||||||
|
@ -53,7 +54,9 @@ func (c *Cluster) GetTasks(options apitypes.TaskListOptions) ([]types.Task, erro
|
||||||
|
|
||||||
r, err = state.controlClient.ListTasks(
|
r, err = state.controlClient.ListTasks(
|
||||||
ctx,
|
ctx,
|
||||||
&swarmapi.ListTasksRequest{Filters: filters})
|
&swarmapi.ListTasksRequest{Filters: filters},
|
||||||
|
grpc.MaxCallRecvMsgSize(defaultRecvSizeForListResponse),
|
||||||
|
)
|
||||||
return err
|
return err
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
Loading…
Reference in a new issue