git-annex/Logs
Joey Hess f04d9574d6
fix transfer lock file for Download to not include uuid
While redundant concurrent transfers were already prevented in most
cases, it failed to prevent the case where two different repositories were
sending the same content to the same repository. By removing the uuid
from the transfer lock file for Download transfers, one repository
sending content will block the other one from also sending the same
content.

In order to interoperate with old git-annex, the old lock file is still
locked, as well as locking the new one. That added a lot of extra code
and work, and the plan is to eventually stop locking the old lock file,
at some point in time when an old git-annex process is unlikely to be
running at the same time.

Note that in the case of 2 repositories both doing eg
`git-annex copy foo --to origin`
the output is not that great:

copy b (to origin...)
  transfer already in progress, or unable to take transfer lock
git-annex: transfer already in progress, or unable to take transfer lock
97%   966.81 MiB      534 GiB/s 0sp2pstdio: 1 failed

  Lost connection (fd:14: hPutBuf: resource vanished (Broken pipe))

  Transfer failed

Perhaps that output could be cleaned up? Anyway, it's a lot better than letting
the redundant transfer happen and then failing with an obscure error about
a temp file, which is what it did before. And it seems users don't often
try to do this, since nobody ever reported this bug to me before.
(The "97%" there is actually how far along the *other* transfer is.)

Sponsored-by: Joshua Antonishen on Patreon
2024-03-25 14:47:46 -04:00
..
Chunk
ContentIdentifier simplify base64 to only use ByteString 2023-10-26 13:10:05 -04:00
Difference
Export Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
MetaData
PreferredContent
Presence migrate --apply 2023-12-08 13:23:46 -04:00
Remote
SingleValue deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Trust newtype MapLog 2023-11-13 14:37:22 -04:00
Activity.hs Future proof activity log parsing 2021-06-14 14:18:19 -04:00
AdjustedBranchUpdate.hs sync: use log to track adjusted branch needs updating 2023-06-08 14:35:41 -04:00
Chunk.hs newtype MapLog 2023-11-13 14:37:22 -04:00
Config.hs
ContentIdentifier.hs
Difference.hs
EquivilantKeys.hs nub the equivilant key list 2024-03-01 14:39:01 -04:00
Export.hs started migrate --update 2023-12-07 15:50:52 -04:00
File.hs Windows: Fix CRLF handling in some log files 2023-10-30 14:23:23 -04:00
FsckResults.hs simplify and speed up Utility.FileSystemEncoding 2021-08-11 12:13:31 -04:00
Group.hs
Import.hs implement importChanges optimisaton (not used yet) 2023-05-31 16:01:34 -04:00
Line.hs
Location.hs migrate --apply 2023-12-08 13:23:46 -04:00
MapLog.hs newtype MapLog 2023-11-13 14:37:22 -04:00
MetaData.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Migrate.hs migrate --apply 2023-12-08 13:23:46 -04:00
Multicast.hs
NumCopies.hs cache negative lookups of global numcopies and mincopies 2023-06-06 14:43:25 -04:00
PreferredContent.hs importtree: support preferred content expressions needing keys 2023-12-18 16:27:59 -04:00
Presence.hs migrate --apply 2023-12-08 13:23:46 -04:00
Remote.hs
RemoteState.hs newtype MapLog 2023-11-13 14:37:22 -04:00
Restage.hs fix deadlock in restagePointerFiles 2022-12-08 14:36:11 -04:00
Schedule.hs
SingleValue.hs deal better with clock skew situations, using vector clocks 2021-08-04 12:33:46 -04:00
Smudge.hs add a finalizer to streamLogFile 2022-09-23 13:49:01 -04:00
Transfer.hs fix transfer lock file for Download to not include uuid 2024-03-25 14:47:46 -04:00
Transitions.hs fix obviously wrong attoparsec parser 2022-02-07 14:15:17 -04:00
Trust.hs info: Added --autoenable option 2022-06-01 14:20:38 -04:00
Unused.hs Apply codespell -w throughout 2023-03-17 15:14:58 -04:00
Upgrade.hs add annex.dbdir (WIP) 2022-08-11 16:58:53 -04:00
UUID.hs one-way escaping of newlines in uuid.log 2023-03-13 14:19:32 -04:00
UUIDBased.hs newtype MapLog 2023-11-13 14:37:22 -04:00
View.hs understand adjusted view branch names 2023-02-27 14:57:58 -04:00
Web.hs migrate --apply 2023-12-08 13:23:46 -04:00