Enable ORA remote to recover from an interupted upload #6267
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #6252 which comprises two problems.
ORA remote used the uuid of the remote to place a file in transfer
in a tmp dir. But this actually causes transfer conflicts with
simultanous uploads of the same key from multiple clones.
This is fixed by using the
here
uuid.The second issue is a test for existence of the transfer file, and
failing if there is one already. This prevents the first issue from
having practical relevance re data integrity. With the usage of
here
uuids, the conflict can no longer happen, and the test is obsolete.
The fix involves import and instantiation of
AnnexRepo()
. Theadditional cost for that is minimal (~10-50ms on my machine) and is only
payed once per process at PREPARE. This newly available repo API, will
enable removal of custom code from the implementation in subsequent
changes.
Additional changes
AnnexRepo
instance to stop repeated git-config queries (but seeConfigManager
cannot handle bare repo's (dataset/branch config) #6264)