HomePhabricator

Merge #15486: [addrman, net] Ensure tried collisions resolve, and allow feeler…

Description

Merge #15486: [addrman, net] Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups

Summary:
20e6ea259b222b10f066f22695a5f56c52071f63 [addrman] Improve collision logging and address nits (Suhas Daftuar)
f71fdda3bc2e7acd2a8b74e882364866b8b0f55b [addrman] Ensure collisions eventually get resolved (Suhas Daftuar)
4991e3c813c9848d3b3957ea3ad433f02fca9e81 [net] feeler connections can be made to outbound peers in same netgroup (Suhas Daftuar)
4d834018e368c3481a5421891395f64aa9002185 [addrman] Improve tried table collision logging (Suhas Daftuar)

Pull request description:

The restriction on outbound peers sharing the same network group is not intended to apply to feeler connections, so fix this.

This fixes an issue where a tried table collision with an entry to a netgroup we already have an outbound connection to could cause feelers to stop working, because the tried collision buffer (`m_tried_collisions`) would never be drained.

Also, ensure that all entries don't linger in `m_tried_collisions` by evicting an old entry if its collisions is unresolved after 40 minutes.

Tree-SHA512: 553fe2b01b82cd7f0f62f90c6781e373455a45b254e3bec085b5e6b16690aa9f3938e8c50e7136f19dafa250ed4578a26227d944b76daf9ce4ef0c75802389b6

Backport of Core PR15486

This PR was in response to https://github.com/bitcoin/bitcoin/issues/15484, but I did not find the issue mentioned here in my debug log while running master.

Test Plan:

ninja
ninja check-all

Reviewers: O1 Bitcoin ABC, #bitcoin_abc, jasonbcox, deadalnix

Reviewed By: O1 Bitcoin ABC, #bitcoin_abc, jasonbcox, deadalnix

Subscribers: jasonbcox

Differential Revision: https://reviews.bitcoinabc.org/D6489

Details

Provenance
Wladimir J. van der Laan <laanwj@gmail.com>Authored on Mar 9 2019, 06:08
nakihitoCommitted on Jun 18 2020, 22:26
nakihitoPushed on Jun 18 2020, 22:26
Reviewer
Restricted Owners Package
Differential Revision
D6489: Merge #15486: [addrman, net] Ensure tried collisions resolve, and allow feeler connections to existing outbound netgroups
Parents
rABC76df4df8e642: Merge #15824: docs: Improve netbase comments
Branches
Unknown
Tags
Unknown