Skip to content
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

[release-v2.0] multi: Main module backports. #3352

Merged
merged 7 commits into from
Jun 4, 2024

Conversation

davecgh and others added 7 commits June 4, 2024 14:49
This corrects a log message for misbehaving peers to include the reason
they were banned.
When a peer responds to an unknown mix message and this does not result in a
ban, the requested message must be removed from the sync manager's current
state for in-flight requested messages.
Instead of removing PRs spent by the latest tip block attached to the main
chain, use the previous block.  The goal of this is to avoid immediately
removing mixpool messages that are still propagating the network when a block
was quickly mined which includes transactions created from those very same mix
messages.

After taking a second look at this, this method of removing completed sessions
from mixpool does not deal well with reorgs.  Using the previous block for
every main chain tip extension or reorg will work better, but will still not
handle a 2+ block reorg properly.  However, these mixpool messages are only
removed to avoid a memory leak, and the messages would simply be removed at a
later time due to PR expiry.
Previously, outbound peers were required to have a newer minimum
protocol version than inbound peers, so two different checks were needed
to differentiate.

However, now that both inbound and outbound peers are required to have
the same minimum version, there is no longer any need to have both
checks for the same thing.

Thus, this removes the additional check that is no longer needed.
If a transaction is rejected because it reference unknown previous transaction
outputs and orphans are disallowed, provide the particular outpoints that are
missing, not just transaction hashes.
This adds logic to attempt to help maintain at least one mix capable
outbound peer to ensure better connectivity among the mix capable peers.
@davecgh davecgh added this to the 2.0.2 milestone Jun 4, 2024
@davecgh davecgh merged commit b136e30 into decred:release-v2.0 Jun 4, 2024
2 checks passed
@davecgh davecgh deleted the rel20_main_backports branch June 4, 2024 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants