gRPC message exceeds maximum size

Hello,

Is the gRPC message maximum size configurable with Kalix? Thank you

11:57:19.969 WARN  a.s.s.RestartWithBackoffSource - Restarting stream due to failure [2]: io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 4194304: 13339958
2024-09-25T11:57:19.969958002Z io.grpc.StatusRuntimeException: RESOURCE_EXHAUSTED: gRPC message exceeds maximum size 4194304: 13339958

Trying the below doesn’t work, for both application.conf and docker-compose.yml:

akka.grpc.client."*".max-inbound-message-size=1073741824
akka.grpc.client."*".package-max-inbound-message-size=1073741824
akka.grpc.client."*".server.max-inbound-message-size=1073741824

The runtime has a request size limit of 12M, this is not user configurable.

4Mib seems like the underlying Netty client configuration though, so probably somewhere it is not correctly overridden. Can you describe a bit more in what context you saw that (a cross service request or just handling an incoming request for example)?

Thanks @johanandren . I have an action (B) that makes an HTTP call to retrieve a feed of stuff (they have no pagination :grimacing:), then it returns the response to the caller action (A) that writes it on a topic. Then multiple action subscribers (Cs) process the result each in different ways. It’s all locally and under one service.

If I chop the response between B and Cs then I’m not getting any gRPC message exceeds maximum size errors. The largest message is closer to 12 MB.

I guess the smarter solution here is to shard the response in smaller chunks?

Yes, splitting the response into smaller chunks would be the recommended solution

1 Like