decred / dcrd

Decred daemon in Go (golang).
https://decred.org
ISC License
731 stars 289 forks source link

netsync: Remove spent PRs from tip block txns. #3367

Closed davecgh closed 1 month ago

davecgh commented 1 month ago

This requires #3366.

Now that recently removed mix messages are independently cached for a short period, this reverts the change that only removed spent pair requests from previous block transactions to make it track the current best tip again.

For reference, the change was originally made 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.

However, as noted when the change was made, while it was a quick way to address the stated scenario, it doesn't deal with large reorgs nicely.

The new method is much more robust and works under all scenarios, so it is preferable for the mixpool to track the current tip.