🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: demon.ip.developers
Article #1006

Re: Robust design for dosdis expire

#1006
From: Malcolm Muir
Date: Sun, 28 Apr 1996 00:00
78 lines
4577 bytes
walter briscoe (walter@wbriscoe.demon.co.uk) wrote:
> > 
> > The stats at the summary shoudl also remain accurate.

> They do!

Good.

> The size of a group from which no articles are removed is the size of
> the article file for the group.  The number of articles is the
> difference between 2 figures in ACTIVE.

Quite, I did say there were better ways of doing it :)

> > > BTW, I read an earlier article where Philib McNab suggested that expire
> > > should take note of prune files.  I would not have thought there was a
> > > problem with the current expire program because it does not renumber
> > > articles but merely beheads the list in each newsgroup.
> > 
> > But has the constraint that numbers must be sequential with no gaps.
> > This is the problem with keeping or pruning articles out of sequence.

> Serves me right for sending a message after midnight.  I was wrong!
> Renumbering of articles - required where an earlier article is kept and
> a later one deleted currently requires renumbering of those later
> articles.  What is the advantage of requiring the article sequence to be
> monotonic.  ACTIVE contains 2 numbers which describe the sequence.

Original design decision. The rule is that article numbers should
remain constant throught the life of the article, and not be (readily)
resued. Then code was added to ensure consistancy in a way that
requires consecutive numbering. Changing this is not trivial, but
needed to move on. I have an outline Snews2 to achieve this, but the
database storage (or rather index files) would have a new format and a
conversion utility would be needed.

>                                                                     I
> can see that it is necessary for one of those numbers to describe the
> last number used - this allows the next number to be assigned.
> Currently the other number is one less than the minimum article number.
> Does it need to have this logic?  Article numbers are available in the
> IDX files.  The consistency check that it allows would disappear. e.g.
>     expire: In alt.msdos.programmers article 25 found when 28 expected
> The sequence could be checked as increasing and discrepancies between
> active and the idx files could still be noted.

The current consistany check achieves a useful purpose judjing from
the number of users that end up with broken index files !

A simple database would mean renumbering everything if the index file
became corrupt. How important it is to retain consistant local article
numbers over a file corruption is questionable. It was a design target
of the original author.

> I have added a check to deal with snzprune actions.  If the first
> article to be kept is older than the expiry time and a prune action is
> pending for that group, expiry is not done on that group and the user is
> given an explanation and the relevant command. e.g.
>     expire: For alt.msdos.programmers, first do: snzprune altmsdp

> I have been thinking about the mechanism used to protect articles
> against deletion by expire.  Keeping unread articles is one mechanism.
> I wonder if marking articles as protected by negative inversion of their
> times would do the job.  This would require mechanisms in SNEWS.EXE to
> invert the protection on a message and to show that messages were
> protected.  The action of EXPIRE of making times a non-decreasing
> sequence would also have to go.

Bite the bullet and redesign the database. That is my plan though I
have no timescale. The redesigned Snews (Snews 2) should support
article deletion and keep and honour the expires and superceeds
headers.

-- 
Malcolm S. Muir                               Demon Internet Ltd.
Sunderland                                    322 Regents Park Road
England                                       London N3 2QQ
Technical Details
Message-ID: <830720157.1908.0@thokk.demon.co.uk>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <829700843snz@tsys.demon.co.uk> <830170486snz@wbriscoe.demon.co.uk> <830215383snz@wash.demon.co.uk> <830462963snz@tsys.demon.co.uk> <830566222snz@wbriscoe.demon.co.uk> <830590991.2944.0@thokk.demon.co.uk> <830682895snz@wbriscoe.demon.co.uk>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 10bb05,69cce58401bcf88
X-Google-Attributes: gid10bb05,public
From: malcolm@demon.net (Malcolm Muir)
Subject: Re: Robust design for dosdis expire
Date: 1996/04/28
Message-ID: <830720157.1908.0@thokk.demon.co.uk>
X-Deja-AN: 151917103
x-nntp-posting-host: thokk.demon.co.uk
references: <829700843snz@tsys.demon.co.uk> <830170486snz@wbriscoe.demon.co.uk> <830215383snz@wash.demon.co.uk> <830462963snz@tsys.demon.co.uk> <830566222snz@wbriscoe.demon.co.uk> <830590991.2944.0@thokk.demon.co.uk> <830682895snz@wbriscoe.demon.co.uk>
organization: Demon Internet Ltd.
reply-to: Malcolm@demon.net
newsgroups: demon.ip.developers