Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Evict orphans which are included or precluded by accepted blocks. #8179
This eliminates the primary leak that causes the orphan map to
This does not go so far as to attempt to connect orphans made
Keeping the orphan map less full helps improve the reliability
So, I'm not super happy with the behavior-- the issue is that it removes included or conflicted orphans, but if those orphans themselves have orphaned children, those won't get removed. The behavior I'm seeing in testing is that it initially removes many transactions but over time seems to remove fewer or fewer, and I think it's because the orphanmap gets full of double-orphans that were conflicted.
I'm not super keen on the performance implications of recursively eliminating there.