What shape is 2.3 in?

Richard Michael Todd rmtodd at mailhost.ecn.ou.edu
Thu Jul 15 04:48:11 UTC 1999


In message <ylr9ma6b80.fsf at windlord.stanford.edu> Russ Allbery writes:
>The documentation leaves a great deal to be desired.  Transit works fine
>and is quite solid.  Readers and the new overview seem okay but article
>writes are slow.  All of the recovery tools like makehistory and the like

It's not clear that the new overview stuff is much slower than the old,
but it does appear to slow down innd because before innd could do other things
while overchan was busy writing to the disk, but now overview wriites are 
taking time out of the innd main loop.  An obvious workaround is to 
bring back overchan, giving the user the option of having
  1) overview writes done by innd, slower but with overview synchronous with 
     article arrival, or
  2) overview writes done by overchan, faster but with the possibility of innd
     getting ahead of overchan at times.
I'm gonna try to get patches to implement this in the next couple days.

>are essentially non-functional at the present time or at least have been
>changed enough that finding the right functioning options requires that
>you know the code extremely well.  Nightly expire, however, seems to work

It functions on *my* system, or did the last time I checked.
Admittedly the current man pages bear no resemblance to reality
Doing 'makehistory -z' or 'makedbz -z' (or indeed any other
non-supported option, z just happens to be an option that neither
program uses) should give you some moderately informative usage
messages, though.

>fine.  The only currently supported expiration method is class-based; you
>can't currently expire by newsgroup (there are proposed changes on the
>table to fix that, but not the corresponding code as of yet).

I've got a moderatly crazy idea to solve the per-group expiration problem
with reasonable efficiency.  Basically, the idea is to have the token 
contain an additional field,  the expiration time.   (This is inspired by 
the technique I think is used by some other news server I heard of 
once (Diablo?) which encoded the expire date in the article filenames.)

Advantages: Expire is extremely efficient.  Basically everything 
expire needs to know to decide whether to nuke the article or not is in the
history line.

Disadvantages: 
	1) innd and makehistory need to be able to read expire.ctl files, 
           which is kinda icky.  Putting this in a common module in 
	   libstorage.a would probably be a good idea.
	2) Changes in which groups expire at what rates in expire.ctl 
	   won't take effect immediately, as previously stored articles will
	   still have the "old" expiration times in their tokens, and thus will
	   expire at the old rate.  




More information about the inn-workers mailing list