On Fri, Feb 12, 2010 at 11:25:05AM +0000, Richard Cooper wrote:

> Based on my debugging it seems that this error is related to me running 
> postmap to rebuild the virtual_alias table This is despite the fact that the 
> recipi...@example.com address is correctly configured in both the old and new 
> virtual_aliases. Here a log of what was happening at the same time as the 
> above error:

The original Berkeley DB (version 1.8x) which was available at the time
that "hash" and "btree" table support were added to Postfix was a simple
indexed file format and library. In that version of Berkeley DB there
were no memory mapped page pools, transaction logs, ...

If are using Berkeley DB on a BSD system with version 1.8x, then postmap
is race-free due to the Postfix locking protocol for Berkeley DB files.

Newer much more feature-full versions of Berkeley DB are no longer race-free
with the Postfix locking protocol, and you need to atomically create/rename
a newly built table.

I don't use Berkeley DB for multi-reader tables, I strongly recommend
CDB for that purpose. I only use Berkeley DB for single reader/writer
tables such as TLS session caches, address verification caches, ...

-- 
        Viktor.

P.S. Morgan Stanley is looking for a New York City based, Senior Unix
system/email administrator to architect and sustain our perimeter email
environment.  If you are interested, please drop me a note.

Reply via email to