Page 1 of 1
Treat 499 articles as missing?
Posted: January 28th, 2013, 1:43 am
by ratchet
Is there a way to get sabnzbd to treat "499 Remote server unavailable." articles as missing and skip them immediately?
I had the following problem today (version 0.7.9, with usenext):
A download was stuck at 99% and just would not finish downloading. The three last files were nearly done (49.7 of 50Mb) but nothing happened and the logs didn't show any actual errors and no missing articles up to that point.
So I checked with wireshark and the server was responding with "499 Remote server unavailable." for the last 3 articles.
Sabnzbd was waiting the set timeout amount and then retried the articles multiple times.
After that I just set timeout and retry to very low values and it finished within a minute and a few articles missing.
I had the same problem a few times before but never really bothered to check up on it.
Is there anything else I can do about that, because this solution isn't really ideal since the server sometimes responds pretty slowly so I don't really want to keep the timeout that low?
Re: Treat 499 articles as missing?
Posted: January 28th, 2013, 2:22 pm
by sander
Do you run SABnzbd from source? If so, the file sabnzbd/downloader.py contains this piece of code:
Code: Select all
elif code in ('411', '423', '430'):
done = True
nw.lines = None
logging.info('Thread %s@%s:%s: Article ' + \
'%s missing (error=%s)',
nw.thrdnum, nw.server.host,
nw.server.port, article.article, code)
So do you mean want to put 499 in that if-line? What happens when you do?
FWIW: RFC 977 / 3977 says this about 499:
Code: Select all
The first digit of the response broadly indicates the success,
failure, or progress of the previous command:
1xx - Informative message
2xx - Command completed OK
3xx - Command OK so far; send the rest of it
4xx - Command was syntactically correct but failed for some reason
5xx - Command unknown, unsupported, unavailable, or syntax error
The next digit in the code indicates the function response category:
x0x - Connection, setup, and miscellaneous messages
x1x - Newsgroup selection
x2x - Article selection
x3x - Distribution functions
x4x - Posting
x8x - Reserved for authentication and privacy extensions
x9x - Reserved for private use (non-standard extensions)
So it's a non-standard answerd. What does your server give as reason after the 499?
Re: Treat 499 articles as missing?
Posted: January 28th, 2013, 3:08 pm
by shypike
ratchet wrote:Is there a way to get sabnzbd to treat "499 Remote server unavailable." articles as missing and skip them immediately?
That would not be a correct action.
499 does not mean that an article is unavailable, but that the server has a (temporary) problem.
One "solution" would be to set that server as "optional", which means that it will be
ignored for 10 minutes after it causes to many timeouts or errors.
Re: Treat 499 articles as missing?
Posted: January 29th, 2013, 10:07 am
by ratchet
sander wrote:Do you run SABnzbd from source? If so, the file sabnzbd/downloader.py contains this piece of code:
I will try that, thank you very much.
sander wrote:
So it's a non-standard answerd. What does your server give as reason after the 499?
Nothing else, just the "499 Remote server unavailable." But this only happens with a few articles, all others still work.
shypike wrote:
That would not be a correct action.
499 does not mean that an article is unavailable, but that the server has a (temporary) problem.
One "solution" would be to set that server as "optional", which means that it will be
ignored for 10 minutes after it causes to many timeouts or errors.
Unfortunately usenext is pretty crappy and these problems never go away. So it just seems easier to ignore the articles right away instead of retrying them since they never become available anyway. But this only happens with a few articles, most still work without problems, I probably should have made that more clear in my post.
Also I don't have any other servers I could use.