Skip to content

A timeout is required when fetching blocks #908

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jclab-joseph opened this issue Apr 9, 2025 · 1 comment
Open

A timeout is required when fetching blocks #908

jclab-joseph opened this issue Apr 9, 2025 · 1 comment
Labels
need/triage Needs initial labeling and prioritization

Comments

@jclab-joseph
Copy link

jclab-joseph commented Apr 9, 2025

GetBlocks requires a fetch timeout for each block.

Below, we simulated adverse conditions by connecting 10 clients to one server and applying a speed limit.

2025/04/09 17:24:44 PROGRESS: [6.48 6.52 0.36 5.92 6.73 6.07 6.73 6.07 3.15 1.06]
2025/04/09 17:24:45 PROGRESS: [6.48 6.73 0.36 5.92 6.77 6.11 6.73 6.27 3.15 1.06]
2025/04/09 17:24:46 PROGRESS: [6.48 6.92 0.36 6.07 6.96 6.15 6.73 6.46 3.15 1.06]
2025/04/09 17:24:47 PROGRESS: [6.5 6.94 0.36 6.27 6.96 6.27 6.73 6.48 3.15 1.06]
2025/04/09 17:24:48 PROGRESS: [6.69 6.94 0.36 6.3 6.96 6.46 6.92 6.48 3.15 1.06]

There are clients (0.36, 3.15, 1.06) that are stuck and unable to download.

When executing GetBlocks, if it takes too long to fetch a specific block, it will not be cancelled and will just hang.
To improve this situation, should stop and find another peer.

boxo version : v0.29.1


Specifically, the problem occurred when there was one server (bootstrap node) that held the files and hundreds of clients tried to download the files simultaneously.
Some clients will successfully download, but most will get stuck and not be able to download.
I expected the node that received it first would forward the block to other nodes, but that didn't happen.
periodicSearchDelay is also useless if block reception has already started.

@jclab-joseph jclab-joseph added the need/triage Needs initial labeling and prioritization label Apr 9, 2025
@lidel
Copy link
Member

lidel commented Apr 15, 2025

triage notes

  • @gammazero need to lean on you being the most familiar what are the next steps here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
need/triage Needs initial labeling and prioritization
Projects
None yet
Development

No branches or pull requests

2 participants