Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--use-move-for-put option is broken #4745

Closed
2 tasks done
SamiLehtinen opened this issue Jun 14, 2022 · 2 comments · Fixed by #4746
Closed
2 tasks done

--use-move-for-put option is broken #4745

SamiLehtinen opened this issue Jun 14, 2022 · 2 comments · Fixed by #4746

Comments

@SamiLehtinen
Copy link

  • I have searched open and closed issues for duplicates.
  • I have searched the forum for related topics.

Environment info

  • Duplicati version: Release: 2.0.6.103 (canary) 2022-06-12
  • Operating system: Ubuntu
  • Backend: Local file system

Description

--use-move-for-put local option is broken with latest changes (works with previous canary release)

Steps to reproduce

  1. Have temp and database on same volume
  2. add --use-move-for-put option to improve performance, move files instead copy from temp to the destination
  3. fails with following error
  • Actual result:
    File transfer fails with exception.
  • Expected result:
    No exception, file moved from temp to destination.

Debug log

Backend event: Put - Started: duplicati-bcce79348bc594747a4526929810a8c2c.dblock.zip.aes (123.22 KB)
  Uploading file (123.22 KB) ...
Operation Put with file duplicati-bcce79348bc594747a4526929810a8c2c.dblock.zip.aes attempt 1 of 6 failed with message: Source file does not exist. Source: /mnt/s2/Temp-Duplicati/dup-af9126a0-65df-4c89-ae5b-1ca0b0cd7ea5 => Duplicati.Library.Interface.FileMissingException: Source file does not exist. Source: /mnt/s2/Temp-Duplicati/dup-af9126a0-65df-4c89-ae5b-1ca0b0cd7ea5
  at Duplicati.Library.Backend.File.VerifyMatchingSize (System.String targetFilePath, System.String sourceFilePath) [0x00083] in <4a02c7b559f449fd8f810d656f073479>:0 
  at Duplicati.Library.Backend.File.PutAsync (System.String targetFilename, System.String sourceFilePath, System.Threading.CancellationToken cancelToken) [0x00043] in <4a02c7b559f449fd8f810d656f073479>:0 
  at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, Duplicati.Library.Interface.IBackend backend, System.Threading.CancellationToken cancelToken) [0x004c5] in <47c3dcd712424c6cb21da3ff3e78f9eb>:0 
  at Duplicati.Library.Main.Operation.Backup.BackendUploader+<>c__DisplayClass20_0.<UploadFileAsync>b__0 () [0x0010a] in <47c3dcd712424c6cb21da3ff3e78f9eb>:0 
  at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry (System.Func`1[TResult] method, Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, Duplicati.Library.Main.Operation.Backup.BackendUploader+Worker worker, System.Threading.CancellationToken cancelToken) [0x00198] in <47c3dcd712424c6cb21da3ff3e78f9eb>:0 

Note, easy workaround is to remove the option. But of course it adds lot of unnecessary disk i/o.

@duplicatibot
Copy link

This issue has been mentioned on Duplicati. There might be relevant details there:

https://forum.duplicati.com/t/release-2-0-6-103-canary-2022-06-12/14612/3

@kenkendk
Copy link
Member

Doooh! The check verifies that the source and destination files have the same length, but of course this fails when the source file is moved. This is caused by #4691

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants