iterate-ch / cyberduck

Cyberduck is a libre FTP, SFTP, WebDAV, Amazon S3, Backblaze B2, Microsoft Azure & OneDrive and OpenStack Swift file transfer client for Mac and Windows.
https://cyberduck.io/
GNU General Public License v3.0
3.27k stars 290 forks source link

No progress when concatenating downloaded segments for large download after transfer is complete #13610

Open bouncy99 opened 2 years ago

bouncy99 commented 2 years ago

Describe the bug

I am using Backblaze S2, however I suspect that this issue will happen with all storage providers that support multipart downloads. In my circumstance, I was downloading a 27GB file from Backblaze, which eventually hit 100% completion, however he transfers window still shows it as "Downloading" for several minutes while the speed drops slowly, before it says complete. While it is stuck at 100% downloading, i can see the file in the downloads directory on my computer increasing in size until it hits the correct file size, at which point the transfers window shows the download as complete. I suspect that as I have the "Segmented downloads with multiple connections per file" setting enabled, cyberduck is reconstructing the file, however the status on the transfers window doesn't change to indicate this, which could lead to confusion or people thinking downloads are not working correctly.

To Reproduce

  1. Ensure Segmented download with multiple connections per file is enabled
  2. Download a file tens of gigabytes or more in size
  3. Wait until the download hits 100%

Expected behavior If the issue is what i suspect it to be, i would expect the transfers window to change from Downloading 100% to something along the lines of either Reconstructing or Building InsertFileNameHere, which a percentage indicator showing its progress.

Desktop (please complete the following information): Windows 11 21H2 (22000.795)

AliveDevil commented 2 years ago

Indeed, You are correct in your assumption that segmented downloads creates a temporary directory with segment files, which are then concatenated into the destination file. A better reflection on the status of a transfer is something that could be improved here.

dkocher commented 1 year ago

Relates to #10961.