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
>