INNd overview corruption

edk at edk at
Tue Nov 6 03:54:44 UTC 2001

Hi --

We're using INNd for specialized newgroups mirroring our mailing lists.

We had a problem where INNd stopped showing all messages posted after a
point two months in the past.  After looking around, I found
instructions for recreating the overview, based on the theory that it
might be the problem -- basically equivalent to the following:

bin/makehistory -b -f history.n -O -T/var/news/tmp -l 60000000

I ran this last Friday, and then took a look at things.  It seemed that
things were at least partially better -- new messages were getting
posted, though they were being sorted incorrectly by my nntp client --
they showed up right about where all the messages cut off before I ran
makehistory.  And the estimated number of messages for each newsgroup
was significantly larger than the actual number (almost a factor of two
-- 22000+ when it should be 12000+).  But since new messages were
appearing, and the old messages had reappeared, I decided to look around
a bit before doing anything else.

Today, I went through and started talking with the server via NNTP.  I
found that the most recent messages were being given IDs from several
months ago -- here's sample data:

#10387:  Thu, 30 Aug 2001 21:49:33 -0400
#10388:  Fri, 26 Oct 2001 08:16:14 +0200
#10599:  Mon, 5 Nov 2001 12:32:44 -0800
#10600:  Fri, 07 Sep 2001 09:57:48 +0200

db/active was clearly wrong, so I looked around and found the following

bin/ctlinnd renumber ''

This seemed to fix db/active -- and it means that going forward, new
messages are now getting valid message numbers (new message numbers, so
that the results from "group {groupname}" include a higher max article
number after each post).  That's good, but I'd like to make the messages
from 10388-10599 accessible again. 

We've been using the timehash storage mechanism, and I was able to find
the missing messages on the file system.  However, I'm not sure how to
convince INNd that they're there.

So far, the best luck I've had is from :

sudo -s -u news -H
cd ~
bin/ stop
rm -fr spool/overview
bin/makehistory -b -f history.n -O -T~news/tmp -l 60000000
cd db
mv history.n history ;              mv history.n.dir history.dir
mv history.n.index history.index ;  mv history.n.hash history.hash 
cd ~
bin/ start
bin/ctlinnd renumber ''

The results from this are:

1) messages which were hidden remain so, and the numbers shown above are
2) the estimated number of messages appears to be correct (it's a little
higher than the highest number message, by an amount which appears equal
to the number of messages which are hidden)
3) new messages are put at the end of the list

Any suggestions as to how I might go about convincing INNd to renumber
these messages so that all of them are accessible?  The number of
newsgroups involved isn't huge, so I could figure out the ranges by hand
if need be -- but I'd prefer to use existing tools if I can find them.
I'm also willing to dig through source code if need be, but I figure
asking here may be faster.

thanks --

   |   Ed Korthof   |  edk at  |   650-228-2527   |

More information about the inn-workers mailing list