gRPC:grpc:收到的邮件大于最大值(8653851与4194304)(Golang)

时间:2019-03-26 16:49:07

标签: go grpc grpc-go

问题

在grpc中接收消息时出现此错误:

rpc error: code = ResourceExhausted desc = grpc: received message larger than max (8653851 vs. 4194304)

我尝试过的事情:

我提供了增加接收消息的大小的选项,但是它仍然给出相同的错误,这意味着此最大大小设置不起作用:

size := 1024 * 1024 * 12
opts = append(opts, grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(size)))
conn, err := grpc.Dial(address, opts...)

评论:

错误消息中显示了默认限制为1024 * 1024 * 4 = 4194304。我原本希望此限制增加到1024 * 1024 * 12 = 12582912,但显然没有。

2 个答案:

答案 0 :(得分:0)

请尝试在客户端上更新grpc.MaxCallSendMsgSize(s int),以使客户端发送更大的消息。 这对我有用。

答案 1 :(得分:0)

可以随每个请求传递呼叫选项。

例如,如果您的程序包名为IOmniParallelTask,而方法名为queue,则在调用GetItems时将传递MaxCallRecvMsgSize选项。

Protobuf:

GetItems

开始:

package queue;

service Queue {
    rpc GetItems (Request) returns (Items) {
    }
}