Wietse Venema:
> A. Schulze:
> > 
> > Hello,
> > 
> > running postfix-3.4.7 on Debian 10 I found the following warning in my logs:
> > 
> > postfix/tlsmgr[705]: warning:  
> > lmdb:/var/lib/postfix/smtp_tls_session_cache is unavailable. open  
> > database /var/lib/postfix/smtp_tls_session_cache.lmdb: MDB_MAP_FULL:  
> > Environment mapsize limit reached

Here's an example of adding entries incrementally to an LMDB table,
similar to what tlsmgr does as it adds entries to a TLS session
cache:

    % touch /tmp/main.cf
    % postconf -c /tmp lmdb_map_size=1000
    % rm /tmp/size-test*
    % sed 's/.*/& &/' /usr/share/dict/words | /usr/bin/time postmap -fic /tmp 
lmdb:/tmp/size-test
          216.47 real         3.50 user        13.21 sys
    % ls -l /tmp/size-test*
    -rw-r--r--  1 wietse  wheel  8257536 Jan  9 15:20 /tmp/size-test.lmdb

With "-i", when postmap runs into a 'map full' error, it increases
the mapsize limit and tries to add the entry again. On my system
with lmdb-0.9.11 that works perfectly, extending the table from
~1000 to 8257536.

If this test fails for you then that is an indication that
LMDB has changed.

One difference is that my test adds small items (a word from a
dictionary), while you are adding larger items (TLS session
information).

        Wietse

> Postfix has a bunch of worarounds for LMDB, that were working by
> the time that LMDB support was implemented, but LMDB may have been
> 'improved', and it may be time to review those workaroundso
> 
> In the meantime, you can set a larger limit.
> 
> > Wild guess: there where some code changes for tls_fast_shutdown_enable  
> > between 3.4.5 and 3.4.7
> > (20190615 and 20190723)
> 
> Instead of speculating you could set tls_fast_shutdown_enable to
> revert the old behavior and see if it makes a difference.
> 
> So I'll wait for that to be confirmed. No need to drop everyting
> I am doing.
> 
>       Wietse
> 

Reply via email to