Download in sequential order misses first part #3905

Closed
opened 2026-02-21 17:01:35 -05:00 by deekerman · 2 comments
Owner

Originally created by @conualfy on GitHub (Feb 8, 2016).

I selected to download a torrent in sequential order. It does download in a sequential order with an exception: there was a piece of the file not downloaded right at the beginning of the file and that piece is not downloaded until the final step. See the attached gif file. In my opinion, there should be a check to see if there is some piece not downloaded before the active downloading pieces, download the ones in the beginning and only then continue in sequential order. The idea is to have a functional file until the download is completed, there are formats that are read in sequential order so those could be used before the download is completed; they cannot be used if some piece of the file header is missing.
qbittorrent-sequential-download

Originally created by @conualfy on GitHub (Feb 8, 2016). I selected to download a torrent in sequential order. It does download in a sequential order with an exception: there was a piece of the file not downloaded right at the beginning of the file and that piece is not downloaded until the final step. See the attached gif file. In my opinion, there should be a check to see if there is some piece not downloaded before the active downloading pieces, download the ones in the beginning and only then continue in sequential order. The idea is to have a functional file until the download is completed, there are formats that are read in sequential order so those could be used before the download is completed; they cannot be used if some piece of the file header is missing. ![qbittorrent-sequential-download](https://cloud.githubusercontent.com/assets/475091/12884850/b5363650-ce69-11e5-8523-a787cdb9276b.gif)
Author
Owner

@conualfy commented on GitHub (Mar 4, 2016):

I installed the latest version and it is similar, not that a piece is left until the very end, but the not yet finish-downloaded pieces (green) found in the beginning of the file are not downloaded from faster sources, they are left till their normal download is done from the original connection. I think selecting Sequential order should be implemented like this:

  • download pieces as they come, one after another
  • after a shorter time, if one previous piece is still green, do not go further to some new one, but discard the original connection of the green piece and download it from a different faster source.
  • repeat this.

The whole point of sequential download is to make the file usable. If pieces in the beginning are missing (not completely downloaded), the file will get stuck at some point.

@conualfy commented on GitHub (Mar 4, 2016): I installed the latest version and it is similar, not that a piece is left until the very end, but the not yet finish-downloaded pieces (green) found in the beginning of the file are not downloaded from faster sources, they are left till their normal download is done from the original connection. I think selecting Sequential order should be implemented like this: - download pieces as they come, one after another - after a shorter time, if one previous piece is still green, do not go further to some new one, but discard the original connection of the green piece and download it from a different faster source. - repeat this. The whole point of sequential download is to make the file usable. If pieces in the beginning are missing (not completely downloaded), the file will get stuck at some point.
Author
Owner

@ngosang commented on GitHub (Mar 25, 2016):

We use https://github.com/arvidn/libtorrent so we can't change the way that faster peers are chosen. Anyway this feature will work well in most cases.
Related #3816

@ngosang commented on GitHub (Mar 25, 2016): We use https://github.com/arvidn/libtorrent so we can't change the way that faster peers are chosen. Anyway this feature will work well in most cases. Related #3816
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/qBittorrent#3905
No description provided.