[PERF] After three yields the sweep runs the whole backlog while holding the disk slot, so manual imports can wait for a full sweep
Maintainers usually reply within 7 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Start by reading issue #214 and tracing ProcessMonitoredDownloads, MaxConsecutiveYields, and the disk-access slot behavior. The issue leaves the choice of a time limit or download chunk size to maintainers, so first determine how either bound would affect sweep and manual-import scheduling; done means neither can be blocked for an entire backlog sweep.
Written by the indexing model from the issue text.
Description
Problem
With the bounded yield (#214), after MaxConsecutiveYields yields the next ProcessMonitoredDownloads run processes the entire backlog to completion while holding the disk-access slot. On a very large backlog this recreates the original starvation in the other direction: manual imports and other disk commands wait for a full sweep.
Suggested direction
Bound the unbounded run by time or by a chunk of downloads (then yield regardless), so neither side can wait for a whole backlog. This is a design decision for the maintainers. Found while reviewing #214.
- 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
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Maintainers usually reply within 7 days
-
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
All issues in Chaptarr/chaptarr
Similar issues
-
area-multitenancy area-security p1-recommended priority-high technical-debt
Difficulty 2/5 Under an hour Newbie friendliness 75/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
kind/enhancement Provider Upgrade pulumi/pulumi-azure R1 Task
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
pulumi/pulumi-azure#3669 ·
-
[BUG] FromCString causes 1 byte OOB read in native codePossibly taken @mattleibow claimed this 1 day ago. Opentype/bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
mono/SkiaSharp#5426 · 1 reaction · 2 assignees ·
Maintainers usually reply within 1 day
-
webclient does not startPossibly taken @PawelTroka claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
PawelTroka/Computator.NET#257 ·
Maintainers usually reply within 1 day