borgbackup / borgbackup/borg

borg2: compact always invalidates the whole index cache of clients

Open
#9,817 1 comment 0 reactions 0 assignees View on GitHub
cmd: compact
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.