[Mailman-Developers] Requirements for a new archiver
J C Lawrence
claw at kanga.nu
Wed Oct 29 13:30:49 EST 2003
On Wed, 29 Oct 2003 18:41:20 +0100
Brad Knowles <brad.knowles at skynet.be> wrote:
> At 11:48 AM -0500 2003/10/29, J C Lawrence wrote:
>>> You need a guaranteed unique id to be used as a primary index field.
>> "Need" is a strong word. Its very deployment and use-case sensitive.
> In the case of a database, it is a hard requirement. A primary index
> field must be guaranteed unique. There is absolutely no way around
> this issue.
Right, and I'm not arguing that. My point is two fold:
1) Using Message ID as a primary key is attractive.
2) Message IDs are not guaranteed globally unique, but the collision
rate can be manageable/acceptable in a large number of deployment
We don't have to guarantee key uniqueness for all messages BEFORE they
are submitted to the message store. The unique property can be assumed
from external sources (with all that implies) should the deployment case
want that. There are tradeoffs here, and it is not clear to me that
there is an instant and obvious global solution.
>> "Need"? No. It is a deployment choice with easily understood
> Perhaps for the application, but this is a totally different ballgame
> when it comes to a database. Google for "primary index field", and
> hopefully you will understand.
I'm neither an idiot or a neophyte in this game. Yes, a database needs
a primary unique key. That's not in debate. The questions are:
Do we know the key before submission to the store?
(If we don't the store operation shouldn't be asynchronous)
Is the risk of discarded messages due to key collisions acceptable?
(Some deployment cases consider such losses acceptable, others can
guarantee uniqueness without Mailman's involvement)
Rotely assuming that Mailman must guarantee key uniqueness before we hit
the message store is not a given, its a choice.
Let's at least be on the same page.
J C Lawrence
---------(*) Satan, oscillate my metallic sonatas.
claw at kanga.nu He lived as a devil, eh?
http://www.kanga.nu/~claw/ Evil is a name of a foeman, as I live.
More information about the Mailman-Developers