animetosho / Nyuu

Flexible usenet binary posting tool
221 stars 32 forks source link

Code 499 #52

Closed petredr closed 5 years ago

petredr commented 5 years ago

I use nyuu on Windows. I love it. Thanks so much for this awesome software. I do have an issue (usually with really large uploads, often greater than 150GB) This is the error I get: [ERR ] Post rejected (Unexpected response to post-upload (code: 499): Remote server unavailable.) for article xxx@nyuu; continuing regardless If i don't use the -e switch it basically stops once this error comes up. Is it possible to basically: 1) retry posts after getting this error rather than stopping/skipping 2) create a temp nzb of posts that have been checked (perhaps in a temp nzb folder as well as memory). If any such error is encountered and the posting has to be restarted all posts are checked vs the temp nzb so that they are not repeated. Once the posting is completed without errors, the temp nzb is deleted.

Thanks

animetosho commented 5 years ago

Thanks for raising the issue!

For your first point, try supplying the --retry-on-bad-resp option on your command line. I'm considering making this option on by default (probably only for 4xx responses).

For your second suggestion, unfortunately Nyuu currently has no support for resuming uploads. There's an ugly hack I use at the moment, which involves dumping out failed posts, then attempting to re-upload these at a later time (see --dump-failed-posts and --input-raw-posts options in the full help file), which might be sufficient for your needs, otherwise I can only suggest waiting for resumption support if and when I get around to it.

petredr commented 5 years ago

Thanks so much, will try the first option. I doubt I can use the dump because I use NZBs and I expect the dumped posts don't get written to NZBs but its good to know. The only other suggestion I have is multiple server support (with the config.json file) where a backup server can be specified along with options for either random posting to each or backup mode (switch to backup server in case of errors).

animetosho commented 5 years ago

I expect the dumped posts don't get written to NZBs

They actually do. If you ignore errors, Nyuu just treats failed posts as successful.

The current multi-server support is very basic and crude at the moment. Being able to specify some rules around server selection is certainly a good idea, so thanks for raising that!

petredr commented 5 years ago

Option 1 worked, just did a large post and it retried multiple 499 errors! I suspect it has to do with I/O and system resources as well as this doesn't happen often and only happens on my slow system (non-SSD). It would be nice to set it to default on the next release so those who haven't encountered this error won't have to as the cost of retrying posts on this error is far less than the potential reposting of an entire set due to a fatal error.

animetosho commented 5 years ago

The 499 error code is generated by the server, not by your system. 499 actually isn't a standard response code defined by the NNTP standard, so there's no code to handle this specifically. I've changed it to treat all 4xx errors as retryable, which is somewhat of a compromise between the old default and the --retry-on-bad-resp option.

Nyuu's I/O access is buffered sequential reads, so it should generally perform fine on spinning disks. (for reference, I run it on a server with a spinning disk whilst it's being thrashed by other tasks)

Thanks for confirming that it works for you!