https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6971

--- Comment #5 from Mark Martinec <[email protected]> ---
Btw, postfix mailer docs claim:

  The status of LMDB databases is "not recommended".



postfix / HISTORY :
20130822
  The status of LMDB databases is "not recommended".  Unlike
  other Postfix databases, LMDB does not grow beyond a specified
  limit even when the file system has room.  This show-stopper
  bug breaks applications whose requirements grow with load:
  postscreen(8), greylisting, tlsmgr(8) and verify(8).


postfix / LMDB_README :
  Warning: LMDB databases have a show-stopper bug: they do not grow beyond a
  specified limit, and introduce a "database full" hard error condition that
  does not exist with any other Postfix database type. This is a problem for
  programs whose database grows with system load. Examples are postscreen(8),
  greylisting, verify(8) and tlsmgr(8).
  You have been warned.

  Postfix provides a configuration parameter that controls how large an
  OpenLDAP LMDB database may grow.
  * lmdb_map_size (default: 16 MBytes per table). This setting controls
    how large any OpenLDAP LMDB database may grow. It must be set large
    enough to accommodate the largest table that Postfix will use.

  Non-obvious recovery with postmap(1)/postalias(1)/tlsmgr(8) from a
  corrupted database.
  Problem:
    You cannot rebuild a corrupted LMDB database simply by running postmap(1)
    or postalias(1), or by waiting until the tlsmgr(8) daemon restarts
    automatically. This problem does not exist with other Postfix databases.
  Background:
    The Postfix LMDB database client does not truncate the database file.
    Instead it attempts to create a transaction for a "drop" request plus
    subsequent "store" requests. That is obviously not possible with a
    corrupted database file.
  Impact:
    Postfix does not process mail until someone fixes the problem.
  Recovery:
    First delete the ".lmdb" file by hand, then rebuild the file with the
    postmap(1) or postalias(1) command, or wait until the tlsmgr(8) daemon
    restarts automatically.
  Prevention:
    Arrange your file systems such that they never run out of free space.
    Use ECC memory to detect and correct silent corruption of in-memory
    file system data and metadata.
    Use a file system such as ZFS to detect and correct silent corruption
    of on-disk file system data and metadata.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to