Fix: Limit ZMQ Buffer Size for Outgoing Messages #4051
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Closes: PRO-858
Checklist
Please conduct a thorough self-review before opening the PR.
Summary
Updated the
ZMQ_SNDHWM
andZMQ_IMMEDIATE
as discussed. I leftZMQ_RCVHWM
unchanged since there is no risk for messages to get stuck in the receive buffer (we only have one "receive" socket shared between all peers, so it is not possible to miss any incoming messages).This doesn't eliminate the memory leak entirely of course, since we can have bad peers that never come online to consume their messages (I wish we could set a limit on how long messages can stay in the buffer, but I didn't see an option for that) and we don't really have a mechanism to remove their sockets atm. I wonder if we should be detecting such peers and resetting the sockets manually. I might create a linear issue for something like that.