celestiaorg / celestiaorg/go-header

fix(p2p): implement retry mechanism for `Head` request

Open
#149 3 comments 0 reactions 0 assignees View on GitHub
bug p2p
Dominant language
Go
Stars
21
Forks
33
Avg merge
5d 20h
Merged PRs (30d)
7

Description

Head method should have its default timeout for all requests(if it wasn't set) and in case we receive less than 3/4 of a positive response, we should ask more peers to determine the current Head.
Note: we should implement retry only for tracked peers. For the trusted peers - only timeout will be enough.

Contributor guide

Open the contributing guide

Research direction

Start by locating the Head method and the code handling request timeouts, tracked peers, trusted peers, and peer responses. Verify how positive responses are counted; the work is done when Head applies a default timeout, retries with additional tracked peers below the stated response threshold, and does not retry trusted peers.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.