-
Notifications
You must be signed in to change notification settings - Fork 117
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
Limit the initial crawler demand for outbound peers, based on seed peer connections #2902
Comments
This was referenced Oct 19, 2021
Hey team! Please add your planning poker estimate with ZenHub @conradoplg @dconnolly @jvff @oxarbitrage @teor2345 @upbqdn |
The implementation in PR #2944 covers the security issue here. So this is now a much smaller cleanup ticket, rather than a security ticket. |
6 tasks
mpguerra
added a commit
that referenced
this issue
May 19, 2023
mergify bot
pushed a commit
that referenced
this issue
May 23, 2023
* ZIPs were updated to remove ambiguity, this was tracked in #1267. * #2105 was fixed by #3039 and #2379 was closed by #3069 * #2230 was a duplicate of #2231 which was closed by #2511 * #3235 was obsoleted by #2156 which was fixed by #3505 * #1850 was fixed by #2944, #1851 was fixed by #2961 and #2902 was fixed by #2969 * We migrated to Rust 2021 edition in Jan 2022 with #3332 * #1631 was closed as not needed * #338 was fixed by #3040 and #1162 was fixed by #3067 * #2079 was fixed by #2445 * #4794 was fixed by #6122 * #1678 stopped being an issue * #3151 was fixed by #3934 * #3204 was closed as not needed * #1213 was fixed by #4586 * #1774 was closed as not needed * #4633 was closed as not needed * Clarify behaviour of difficulty spacing Co-authored-by: teor <[email protected]> * Update comment to reflect implemented behaviour Co-authored-by: teor <[email protected]> * Update comment to reflect implemented behaviour when retrying block downloads Co-authored-by: teor <[email protected]> * Update `TODO` to remove closed issue and clarify when we might want to fix Co-authored-by: teor <[email protected]> * Update `TODO` to remove closed issue and clarify what we might want to change in future Co-authored-by: teor <[email protected]> * Clarify benefits of how we do block verification Co-authored-by: teor <[email protected]> * Fix rustfmt errors --------- Co-authored-by: teor <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Motivation
When Zebra starts up, the crawler task tries to dial
peerset_initial_target_size
peers. This is in addition to thepeerset_initial_target_size
peers from the initial seed peer connection limit.But we only want
peerset_initial_target_size
initial peers, notpeerset_initial_target_size * 2
initial peers. In PR #2944, this extra demand gets dropped, but it's a small waste of CPU and RAM.Suggested Design
Initialize the peer connection count
demand_tx
inpeer_set::initialize
based on the number of connections made inadd_initial_peers
.Edge Cases
The initial peer limit counts connection attempts. But the connection limit is for open connections. So we have to count the right thing here.
We should make sure the calculation doesn't underflow and panic.
Related Work
These tickets might modify the same functions as this ticket:
The text was updated successfully, but these errors were encountered: