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

Queue management: limited private tracker when there are many torrents without seeds leads to a deadlock #14261

Open
hades646 opened this issue Jan 20, 2021 · 2 comments
Labels

Comments

@hades646
Copy link

hades646 commented Jan 20, 2021

Please provide the following information

qBittorrent version and Operating System

4.3.3

What is the problem

Some torrent trackers, especially those used for private torrents, establish a limit on how many torrents can be downloaded at the same time. However, sometimes seeds are not connected or there are no seeds at all. Imagine a scenario with a limit of 10 active torrents established in the tracker (at the 11th torrent it will fail with an error message saying that the torrent limit has been reached). Imagine the user has 200 torrents from this tracker and 60% of the torrents currently have no seeds.

The current queue management does not take into account trackers or possible limits established by these or the fact that all trackers of a torrent might be returning an error.

If 10 first torrents have no seeds, they will remain as stalled. And the other 190 will try to download but they will receive an error from the tracker and this would lead to a quasi-deadlock situation.

If I set the download limit to 10, it will also not work because stalled torrents will always count and will never be auto-paused.

What is the expected behavior

  1. Being able to mark torrents in a way so if they are "stalled" for more than X minutes, they go to the back of the queue. This would be the easiest solution. Could be also a global setting.

  2. The more complex solution would be to be able to establish the limit of torrents per tracker and if the limit is reached and torrents are stalled, the queue would somehow allow qBittorrent to try to queue the stalled ones and try to see if there are sources for any of the others using the same tracker exclusively.

I think the first option is quite straightforward and it will help people with torrents that are stalled for years until finally a seed resuscitates.

Steps to reproduce

Disable the option of ignoring slow downloads from the download count (you cannot do this with the private tracker with limits, because qBittorrent will activate ALL other torrents without pausing or queuing the stalled ones).

Put N torrents without seeds at the top of your queue, establish a limit of active downloads to N/2. Add more torrents with seeds with lower priority. The ones with seeds will never download.

@hades646 hades646 changed the title Queue management: limited private tracker when there are many torrents without seeds leads to-> deadlock Queue management: limited private tracker when there are many torrents without seeds leads to a deadlock Jan 20, 2021
@The5kull
Copy link

I have not experienced this in my decades of torrenting but it seems like a tracker issue. Those tracker limits only work on downloads and torrents without seeds are not downloading and should therefore not triggering the trackers limits.

@hades646
Copy link
Author

hades646 commented Feb 22, 2021 via email

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

No branches or pull requests

3 participants