[PERF] Blocked completed downloads are re-matched from scratch on every retry, with no backoff
Maintainers usually reply within 7 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- csharp, docker
- Domain
- backend, performance
Research direction
Start by reviewing the retry and matching context discussed in issue #211, then trace how completed downloads are re-matched on each retry. The issue suggests caching each download's last result using its path set and modification time/size signature, or applying exponential backoff; compare these approaches with how library metadata changes are detected. Done means unchanged downloads avoid repeated matching, or retries are backed off, with the chosen behavior covered by relevant tests.
Written by the indexing model from the issue text.
Description
Problem
A completed download that cannot be imported (for example a multi-hundred-file audiobook whose files do not match) is re-matched file by file on every retry pass. With the retry that reuses the manual preview's matching context (#211) each retry does roughly two matching passes instead of one, and nothing caps or backs off the retries for a download whose result has not changed.
Suggested direction
Remember the last result per download (path set plus mtime/size signature) and skip re-matching until the folder contents or the library's relevant metadata change, or apply exponential backoff. This is a design decision for the maintainers, so filing as an issue only. Found while reviewing #211; not measured.
- Dominant language
- C#
- Stars
- 664
- Forks
- 48
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 1
Getting set up
- Ships a 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 Chaptarr/chaptarr
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
Maintainers usually reply within 7 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Chaptarr/chaptarr#313 · 1 comment ·
Maintainers usually reply within 7 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 7 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
Maintainers usually reply within 7 days
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 7 days
All issues in Chaptarr/chaptarr
Similar issues
-
7.0
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
unoplatform/uno.extensions#3253 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Sector-Vestige/Sector-Vestige#476 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
PowerShell/platyPS#868 ·
-
S: Untriaged
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Trauma-Station/Trauma-Station#5058 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 2 days