[milters] Archive

Lists Index Date Thread Search

Article: 1123
From:
Date: 2006-08-29 10:02:03 -0400
Subject: Re: milter-abook: skipping Cw, adding MAIL FROM to cache tuple

Removal...........: milters-request@milter.info?subject=remove
More information..: http://www.milter.info/#Support
--------------------------------------------------------

Quoting Anthony Howe <achowe@snert.com>:

> > Is there a theoretical or performance reason you didn't do this
> originally? Do
> > you have any interest in adding it as a feature? Something like
> > -PER_USER_ABOOK.
>
> The original design request for the milter did not specify this as I
> recall. Also if several people in a company correspond with the same
> recipient, then the cached entry would only reflect the last local
> sender to contact that recipient. Keep a list of senders gets ugly fast.
>
> To create per-user address books would require maintaining individual
> .db files per sender in addition to the common one. This was not pursued

I was thinking of putting the local user in the key, not the value, so we
stick with the global .db and the CacheEntry structure doesn't change. We
simply (?) need to store/update two keys per outgoing message, one with key
<rcpt> and one with key <rcpt-mail_from>. cacheUpdate would essentially be
duplicated. I don't think cacheExpireEntries/cacheGarbageCollect would need
to change; they don't care about the format of the key.

Of course, many-to-many conversations get messy, but it helps that I am not
really interested in the <from> counter, just the <to> counter.

After about a week, I've accumulated about 12,000 entries in milter-abook.db.
If I add per-local-sender keys, I'd expect the entries to balloon to 500,000,
which is a lot, but within what bdb hashes can do.

Lists Index Date Thread Search