hiero-ledger / hiero-ledger/hiero-consensus-node

Bridge roster/topology changes to addRemovePeers

Open
#17,815 0 comments 0 reactions 0 assignees View on GitHub
Platform
Dominant language
Java
Stars
406
Forks
226
Avg merge
3d 4h
Merged PRs (30d)
210

Description

When address book changes, we need to set up new connections and tear down some of the old ones. We need to compare old and rosters (possibly including topology) and decide what changes should be requested from network layer.
To additionally complicate things, we cannot do those changes immediately after receiving future roster. We probably need to preserve old connections until old roster becomes stale/ancient and create new connections early, to avoid delays on roster change round. This delayed diff logic needs to be wired between roster change notifications, round changes and network.
Additionally, all downstream components should be hardened against received messages from nodes which have no business of being in current roster (because it has not happened yet, or because it is already obsolete, but not yet fully purged), but this is not in scope of this task.

Contributor guide

Open the contributing guide

Research direction

Start by tracing roster change notifications, round changes, and the network layer's addRemovePeers flow. Determine how old and future rosters or topology are represented, then define and wire delayed connection changes so old connections persist until the old roster is stale while new connections are created early; downstream message hardening is explicitly out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
distributed-systems, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.