Question #656947 on Duplicity changed:
https://answers.launchpad.net/duplicity/+question/656947

Description changed to:
When doing a "collection-status", duplicity does a sync_archive and if files 
are not local, it copies them from remote.
If the backend is amazon s3 and the files have been migrated to Glacier, 
duplicity restores the files one by one and has to wait for each file for hours 
to go from glacier to S3. So if the restore needs 6 hours and there are 50 
files, this needs 300 hours. It would be better if the restore is triggered for 
all files and the wait is done afterwards.

Looking into the code I find the following in duplicity in function 
sync_archive around line 1185:
            if hasattr(globals.backend, 'pre_process_download'):
                globals.backend.pre_process_download(local_missing)
This would be a good place for the backend to initiate the restore of all files.
But the test "hasattr(globals.backend, 'pre_process_download')" is not true. I 
think this is because the backend is a duplicity.backend.BackendWrapper so it 
should read globals.backend.backend.

Also I see that "local_missing" is a list of files, whereas the function
"def pre_process_download(self, remote_filename, wait=False)" in
_boto_single expects a single filename, not a list.

This is the reason why this piece of code is not working.

-- 
You received this question notification because your team duplicity-team
is an answer contact for Duplicity.

_______________________________________________
Mailing list: https://launchpad.net/~duplicity-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~duplicity-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to