-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failed to "ack" for 3000 message(s). Reason: 3 INVALID_ARGUMENT: Request payload size exceeds the limit: 524288 bytes #1864
Comments
@ablbol Thanks for the issue. I could've sworn we already had an issue about this, but either way: The problem is that, as the message suggests, there is a maximum payload size for ack requests to the server. For a very high level of throughput or a very large batch size, it can overflow that size while trying to send back all of the ack IDs (especially with exactly once delivery enabled). Our intent here is basically to queue up multiple ack requests to the server if there are too many for a single request, but that hasn't been implemented yet. |
We ran into a similar issue when our downstream system had backpressure from our downstream system. We were able to work around this by setting the |
im testing a fix by adding a |
@dermasmid Thanks for the PR. I think the max is always the same, and I'm not sure there's a case where you'd want to make it less than the server max? Let's run this by @kamalaboulhosn , we might be able to simplify further. |
Quick update here - what we want to do with this is adapt the PR to not take a max from the user, but just to use the server's max. I need to verify what the exact number is, before doing that. |
The 4.7.2 release should fix this, just released a moment ago. |
NOTE:
I have already created Stackoverslow question for this issue and was asked by a Google Cloud Employee (Kamal Aboul-Hosn) to raise the issue over here.
Environment details
@google-cloud/pubsub
version: ^3.7.1Steps to reproduce
I am using Node JS client for Google PubSub (RPC StreamingPullRequest API) with flow control. My subscription options look like that:
I reduced maxStreams from 5 (default) to 2 to reduce re-deliveries, as mentioned here in the docs. When I set the maxMessages to 4000, I get the following debug warning, which causes re-deliveries of messages:
Why am I getting the warning, and how can I increase the payload size?
The text was updated successfully, but these errors were encountered: