Natterings about history files

Russ Allbery rra at stanford.edu
Wed Feb 7 21:22:51 UTC 2001


Alex Kiernan <alexk at demon.net> writes:

> Looking at it again this morning (OVhisthasmsgid), it looks like it is
> used during group based expiry - when an overview method determines that
> the underlying storage manager is EXPENSIVESTAT, it attempts to check
> whether there's a storage token still associated with the message in the
> history file (fetch the offset from the dbz file, break out & discard
> the times, check if we've a valid token left).

> ISTM that if you just did a HIScheck you'd keep overviews for articles
> for too long (which I guess isn't a disaster), alternatively we could
> adjust HISlookup to return an expired flag (modifying the TOKEN to
> include an expired flag sounds like a bad idea to me):

>     enum status { NOTFOUND, FOUND, EXPIRED };
>     enum status HISlookup(struct history *, const char *key, time_t *arrived,
>                           time_t *posted, time_t *expires, TOKEN *token)

Why not just call HISlookup returning a bool, and if it returns false
(message ID not found), assume that the message has expired from history?
Does that do the wrong thing in any circumstances?

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>


More information about the inn-workers mailing list