Pull torrent excessive wantPeers event fix #18256
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.
This fixes excessive updates in the announcer work queue due to an excessively triggered event in the torrent client here.
This caused extremely high CPU when torrents exceeded around 13k in count and caused a bottleneck on the client it couldn't recover from. It didn't stop anything from operating it just got very slow, without any scheduler issues or thrashing.
There's still more aggressive improvements on main but I tried to keep it minimal.
The behaviour matches the profile in #18162 so it should be an exact fix for that. I think it also finally fixes https://github.com/erigontech/erigon-qa/issues/320.