buffindexed overview has more articles than history

Richard Todd rmtodd at ichotolot.servalan.com
Thu Mar 2 02:38:12 UTC 2000


In message <m3g0uash49.fsf at ra200004.shef.ac.uk>, Chris Martin writes:
>A development server running inn-2000-02-07_03-02 has stopped because
>the overview buffer is full.
>
>The buffer is 1136 Mbytes in size and according to inndf -o -n has
>2954450 overview data stored -- which I assume means article records.
>
>However the history file has only 2792458 lines of which (grep '@'
>history|wc) 1346662 are articles in the spool (almost all in
>cycbuffs).

There are always more article records than articles.  There's one article
record for each newsgroup an article is crossposted to.  Having 2.19 article
records per article (on average) does seem like a rather high crossposting
percentage, though, especially if you're running a good spam filter
like cleanfeed.  Either you're getting a lot more crossposted traffic 
than I suspect, or you've been having problems with expireover before that
caused it to not expire properly. 

>expireover runs but takes a suspiciously short time about it:
>
>        expireover start Sun Feb 20 03:08:00 GMT 2000
>        expireover end Sun Feb 20 03:08:05 GMT 2000

To expire a newsgroup's overview entries, expireover needs enough room
in the buffer to create the new overview entries and then de-allocate the
space the old ones took up.  If you are at 100% utilization, I 
suspect expireover bails immediately. 

>I can't follow the trail from expireover.c through ov.c to
>buffindexed.c to be sure that it is using the right mathod 8(.

It'll get there if it got there for writing the articles.

>Can anybody suggest something to try next? I have no more space for
>another buffer.

At this point, you're sort of stuck.  The easiest way out is probably to
shut down innd, zap the front of the overview buffer (dd if=/dev/zero 
of=OV1 bs=1k count=100 conv=notrunc is what I usually do for such things)
and rebuild overview (makehistory -x -O -l nnnnnn, if I recall correctly).

You *can* start innd back up after the overview rebuild commences; the 
overview code can handle both processes writing to the buffer and do the
right thing w.r.t. locking.  It will be slower, and of course anyone who
reads news and tries to read the articles currently on spool may or may not see
them, depending on how far the overview rebuild has gotten. 



More information about the inn-workers mailing list