borg2: compact always invalidates the whole index cache of clients
- Dominant language
- Python
- Stars
- 13.7k
- Forks
- 875
- Avg merge
- 11h 15m
- Merged PRs (30d)
- 192
Description
because `compact` always writes all index information into 1 new index file and deletes all the old index pieces, clientside caches become stale at that point and all clients need to refresh their cache and load that big index piece.
as borg compact is moving objects to new packs and also removing unused objects, it is maybe not trivial to improve this - collect ideas below.
Contributor guide
Research direction
Start by tracing the borg2 compact entry point and the client-side index-cache refresh path described in the issue. Compare how compact rewrites and removes index pieces, then define a correctness-preserving way to avoid unnecessary full cache invalidation; no files or tests are named, so the relevant entry points must first be located.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100