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