Problem
Currently, the fraction manager provides all fractions in one call. Async search then either:
- Uses only fraction names to build a queue, or
- Iterates over all fractions to work with individual fractions by name.
This is problematic because retrieving the full fraction list locks all fractions and prevents deletion/compaction for the entire duration of the async search. When the fraction list is large or the search is slow, this blocking becomes too expensive.
Desired behavior
- Extend the fraction manager with a new method to fetch a single fraction by name.
- Modify async search to request fractions one by one instead of locking everything upfront.
Problem
Currently, the fraction manager provides all fractions in one call. Async search then either:
This is problematic because retrieving the full fraction list locks all fractions and prevents deletion/compaction for the entire duration of the async search. When the fraction list is large or the search is slow, this blocking becomes too expensive.
Desired behavior