Skip to content
This repository has been archived by the owner on Aug 2, 2022. It is now read-only.

EPE-165: Improve logic for unlinkable blocks while sync'ing #10012

Merged
merged 8 commits into from
Feb 10, 2021

Conversation

rusty-block-one
Copy link
Contributor

The current logic for handling unlinkable blocks while sync'ing closes
the node prematurely when the node is flooded with unlinkable blocks in
a short time window. This fix groups unlinkable blocks into time windows
in order to manage the flooding condition.

Change Description

Change Type

Select ONE:

  • Documentation
  • Stability bug fix
  • Other
  • Other - special case

Testing Changes

Select ANY that apply:

  • New Tests
  • Existing Tests
  • Test Framework
  • CI System
  • Other

Consensus Changes

  • Consensus Changes

API Changes

  • API Changes

Documentation Additions

  • Documentation Additions

The current logic for handling unlinkable blocks while sync'ing closes
the node prematurely when the node is flooded with unlinkable blocks in
a short time window. This fix groups unlinkable blocks into time windows
in order to manage the flooding condition.
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
1) changed rejected block tracking to per connection
2) block_status-monitor updated with max rejected windows
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
1) corrected initialization of window size
2) simplified rejected() logic based on feedback
3) simplified state tracking
1) changed ctor to explicit
2) corrected ctor default window_size
1) Moved mutex as sugested
plugins/net_plugin/net_plugin.cpp Outdated Show resolved Hide resolved
@heifner
Copy link
Contributor

heifner commented Feb 9, 2021

Approved, but please don't merge until LRT has been run on this change. All net_plugin changes should have LRTs run before merge.

@rusty-block-one rusty-block-one merged commit c4669d8 into develop Feb 10, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants