plumb in LiveUpdate (WIP)

Each command that first checks preferred content (and/or required
content) and then does something that can change the sizes of
repositories needs to call prepareLiveUpdate, and plumb it through the
preferred content check and the location log update.

So far, only Command.Drop is done. Many other commands that don't need
to do this have been updated to keep working.

There may be some calls to NoLiveUpdate in places where that should be
done. All will need to be double checked.

Not currently in a compilable state.
This commit is contained in:
Joey Hess 2024-08-23 16:35:12 -04:00
parent 4885073377
commit c3d40b9ec3
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
58 changed files with 363 additions and 247 deletions

View file

@ -35,10 +35,6 @@ Planned schedule of work:
May not be a bug, needs reproducing and analysis.
* Check if reposizes updates works when using `git-annex transferrer`.
Eg, does the location log update happen in the parent process or in
the transferrer process?
* Concurrency issues with RepoSizes calculation and balanced content:
* What if 2 concurrent threads are considering sending two different
@ -146,6 +142,12 @@ Planned schedule of work:
also be done by just repeatedly touching a file named with the processes's
pid in it, to avoid sqlite overhead.
* Check all uses of NoLiveUpdate to see if a live update can be started and
performed there. There is one in Annex.Cluster in particular that needs a
live update
* Check for TODO XXX markers
* `git-annex info` in the limitedcalc path in cachedAllRepoData
double-counts redundant information from the journal due to using
overLocationLogs. In the other path it does not, and this should be fixed