Last Updated - 2 Feb 99
Pseudo code of get_message_index function
for each GROUP {
GROUP command
XHDR msgid msgnr-
}
The GROUP command tells the NNTP server which group I am interested in,
then the XHDR commands says to send me all msgids for the range specified
in sucknewsrc (last high msgnr usually). The remote NNRP server typically
gets this information from the HISTORY or XOVER database it maintains. It
has NOT yet looked at the actual articles on the spool directory.
This gives me the raw, undeduped list of msg-ids that I have to worry
about. Then, I take the list of msgids, dedupe em against itself (so I
don't dl the same article twice) and the history database (if requested).
Once the deduping is done, I then do:
pseudo code for get_messages function
for each MSGID {
article MSGID
}
Of course, this gets more complicated, based on killfiles, etc.
This is the point when the NNRP server goes out to get the article from
the spool directory.
Now, if for any reason, and there are many (badly deleted articles, short
retain date, currently running news.daily), the article is deleted from
the spool directory, but not from the database of msgids, you'll see the
error message noted.
If you get these on a daily basis, it can mean that your server is not
keeping up with its incoming/outgoing articles. Try using the -n option
to suck. This forces suck to use the article number vice MsgID to retrieve
the article. If this works, it definitely means the problem is on the
remote end.
The code that I use to do this processing hasn't changed in a few
releases. That's why I don't think its a bug in suck. HOWEVER, there are
a couple of ways to very quickly test that theory. If suck gives you a
430 error code, take that MSGID, and put it in "suckothermsgs", this
will force suck to try and download it again. Or manually connect to the
NNTP server:
telnet remote.server 119 mode reader (if you need the -M command) articleIf either one of these does succeed in getting the message, then there is a very real chance that suck has a very nasty hidden bug somewhere. Let me know. I will need the debug output from a session (use the -D option).(include the <>s) quit
Answer - Use the -n option. For some reason, Supernews doesn't like it when Suck requests articles using the MsgId.