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

Reply via email to