#1774 change hwm limits for zmq broadcast #1849
Merged
+5
−8
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.
fixes #1774
Description
Set ZMQ sockets hard limits to 0 to avoid messages being dropped out from the buffer.
Tests
Tested on the network with historic node and 7 core nodes:
run load test and send all transactions to the historic node
wait for some time (30 min is enough)
stop the load
there will be transactions in transaction queue on the historic node (version 3.18) that stuck there. Wait for 5 more minutes and ensure that those transactions will still be there. it means that these transactions were marked as broadcasted but were dropped out of the socket's buffer and therefore weren't received by other nodes.
there will be no stuck transactions on the historic node built on this branch
Performance Impact
Tested on the network with historic node and 7 core nodes:
run load test for ~2 hours on both new and current versions
ram usage on the new version will not be higher than ram usage on the current version (current version - 500 mb usage, new version - 350-400 mb)
Tested on the devnet - 4-node chain
run load test for 24 hours
ram usage is normal, no swap growth
results verified by @oleksandrSydorenkoJ