Ralf Hildebrandt:
[ Charset UTF-8 unsupported, converting... ]
> Just out of interest, when using a memcache map for postscreen:
>
> postscreen_cache_map = memcache:/etc/postfix/memcache-postscreen_cache.cf
>
> with /etc/postfix/memcache-postscreen_cache.cf containing:
>
> memcache = inet:mail.charite.de:11211
> backup = btree:/var/lib/postfix/postscreen_cache
>
> being used from my two MX hosts mail and mail2, what happens in case
> of concurrent writes to the memcache instance?
This will not work. You can't have two postscreen processes writing
to the same postscreen_cache file.
Instead, you must specify
memcache = inet:mail.charite.de:11211
backup = proxy:btree:/var/lib/postfix/postscreen_cache
(and be sure that "postconf proxy_write_maps" shows the
btree:/var/lib/postfix/postscreen_cache table).
This is also documented in the current memcache_table(5) page.
> I mean it's probably not criticial, since both instances will most likely
> see the same behaviour from the same client.
>
> But in general, how are concurrent
> writes handled by memcache?
The backup feature is implemented in the memcache client. The
client updates the memcache and postscreen_cache at almost the same
time, so there is a brief window of inconsistency.
Hey, this is web 2.0 technology, so it is mostly correct, most of
the time. It's good enough for low-value information such as
postscreen reputation cache, verify cache, or greylist database.
Wietse