From: Brad Templeton (brad@templetons.com)
Date: Fri Mar 03 2000 - 13:16:24 CST
On Fri, Mar 03, 2000 at 05:52:49PM +0000, Andrew Gierth wrote:
> >>>>> "Charles" == Charles Lindsey <chl@clw.cs.man.ac.uk> writes:
>
> Charles> Now comes Message-ID: <myuniquepart$v=1$xxx@mysite.example>
> Charles> for which the hash is <456456>
> Charles> with Replaces: <myuniquepart@mysite.example> ; usage=revise
>
> Charles> After which the history file will contain:
>
> Charles> <123123> comp.foo 1000
> Charles> ...
> Charles> ...
> Charles> ...
> Charles> <456456> comp.foo 1027
> Charles> <123123> comp.foo 1027
>
> Charles> And article 1000 in comp.foo will be absent (and even the
> Charles> history file will reflect that absence after the next expiry
> Charles> run).
>
> This is the part I have a problem with (in my code, which is not dbz).
> In all other cases message-ids are _unique_ identifiers, but here we
> suddenly have one that is duplicated.
You don't have to duplicate it. Instead you can create a new record
for a non-message-ID. Call it "v<myuniquepart@mysite.example>" -- note
the "v" outside of the angle brackets to distinguish it as not a msgid.
In this record you simply store "1" -- the current version code. You
then change the contents, not pointer to this record as new versions
arrive.
If it is not possible to change contents you have two options:
a) Create a small rewritable database for this purpose.
b) Have the fetching code do chaining.
By chaining I mean, if you fetch an article and its gone, you keep
incrementing the version number until you get to one that is still present.
Sound inefficient? It is. But it's rare. It is only done when you get
a fetch by message-id of an article that is no longer present.
> And this is the other part I have a problem with - in a cluster system
> the Xref is generated in the hub, and so this step fails if the article
> being replaced has expired from the hub's spool (which is small compared
> to that of the reader systems).
Does that mean it leaves the hub's history file too? Anyway, I guess it
means that the tools that actually generate the article number have to
generate the xref. Is this not possible in your design?
>