Trip the IPFS circuit breaker only when the Kubo node is unreachable in the client
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 48/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- cli, rust
- Domain
- backend, cli, distributed-systems
Research direction
Start by locating the client IPFS file downloader and its files/stat timeout handling, then trace how the client and CLI learn that IPFS has been disabled. Check the existing parallel download and CLI documentation paths before changing behavior. Done means connection errors trip the breaker immediately, consecutive timeouts account for parallel downloads and reset after a successful download, and the CLI warns users and documents the behavior.
Written by the indexing model from the issue text.
Description
Why
The client handles a files/stat timeout of the IPFS file downloader like an unreachable Kubo node, so a single slow answer under parallel downloads disables IPFS for all the remaining files of a Cardano database download, and the fallback to cloud storage is only reported in the logs.
What
The client stops using IPFS at once when the Kubo node cannot be connected, and only after a number of consecutive files/stat timeouts without any successful IPFS download in between, and the CLI warns the user when IPFS is disabled during a download.
How
- Extend the timeout to 10s instead of 5s?
- Distinguish a Kubo connection error from a
files/stattimeout in the IPFS file downloader - Trip the IPFS circuit breaker at once on a Kubo connection error
- Trip the IPFS circuit breaker after N consecutive
files/stattimeouts, with a reset of the count on each successful IPFS download (take into consideration the number of parallel downloads) - Reset the circuit breaker after a delay? (Is it worth it if the download lasts 15 minutes?)
- Expose the circuit breaker trip to the client users (e.g. through a feedback event)
- Display a warning in the client CLI when the IPFS circuit breaker trips
- Update the client CLI documentation of the IPFS download
- Dominant language
- Rust
- Stars
- 155
- Forks
- 52
- Avg merge
- 2d 17h
- Merged PRs (30d)
- 37
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from IntersectMBO/mithril
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
IntersectMBO/mithril#1605 · 2 comments ·
Maintainers usually reply within 2 days
-
spike :satellite:
Difficulty 5/5 Over a week Newbie friendliness 10/100
IntersectMBO/mithril#3701 ·
Maintainers usually reply within 2 days
-
Publish a DNSLink record of the immutable archives IPNS name in the Mithril networks DNS zonesPossibly taken @jpraynaud claimed this 2 days ago. Openfeature :rocket:
IntersectMBO/mithril#3700 · 1 assignee ·
Maintainers usually reply within 2 days
-
feature :rocket:
Difficulty 4/5 3-5 days Newbie friendliness 25/100
IntersectMBO/mithril#3699 ·
Maintainers usually reply within 2 days
-
feature :rocket:
Difficulty 4/5 3-5 days Newbie friendliness 35/100
IntersectMBO/mithril#3698 ·
Maintainers usually reply within 2 days
All issues in IntersectMBO/mithril
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
storytold/photocraft#14822 ·
Maintainers usually reply within 1 day
-
bug css
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
dginev/latexml-oxide#853 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 2 days
-
[Bug] export_build_environment admits its output directory only after the export ran in the build computerPossibly taken @viniciusdsandrade claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day