Error on download queue/link processing
|Target version:||030 - Version > 2.xxx|
This error is combination of bad design and lack of additional checks on queue processing and/or next download start process.
Along with lack of additional checks to see if existing mirror has already started downloading from the config. Mirror links prior to the active download mirror aren't disabled until the next download starts, also only disables mirror based on if the mirror is still is transferring.
1) add files (mirrors)
2) start downloading the second mirror (queue order)
3) pull out your network cable or disable your network
4) then let jd start up again, it will download from the first mirror and not resume from the previous hoster.
JD amends data from the first download and the second mirror and does not reset the part to 0.
This is from Nightly branch as this is my every day downloader. I've come across this bug many times and it is easily reproducible given the correct circumstances. It has resulted in corrupting/ruining of many downloads.
Solutions for coming versions.
We should be disabling all mirror links when A new download commences download process regardless of position/or package(use save path), if the download process fails it should then release all mirrors allowing jD to download from another if required (prevents hoster related issues, stopping the file from downloading).
As we talked about on IRC, extensive controller actions, plus checks to see if existing download can be resumed (preferred first step).
Solution for stable/nightly
Non controlling: move started mirrors position (to the top) within given packages when download starts, which makes sure if it fails it will at least resumes or resets downloads from 0.