On Thu, Nov 14, 2024 at 02:13:11PM -0600, Matt Saladna via Postfix-users wrote:

> In situations where either a server has run out of storage, a btree database
> can become corrupted. I see this evidenced in the following manner,
> specifically "no cursor":
> 
> Nov 14 20:10:44 web2 postfix/postscreen[1377623]: warning: dict_proxy_lookup: 
> service proxywrite: Connection reset by peer
> Nov 14 20:10:44 web2 postfix/master[2514]: warning: process 
> /usr/libexec/postfix/proxymap pid 1378868 killed by signal 6
> Nov 14 20:10:45 web2 postfix/proxymap[1378875]: panic: dict_db_sequence: no 
> cursor
> 
> Postfix version: 3.7.11
> libdb: 5.3.28-42.el8_4
> smtpd_tls_session_cache_database = proxy:btree:$data_directory/smtpd_scache

You rarely need writable Berkeley DB databases that can grow very big.
In this particular case you have chosen to implement a server-side TLS
session cache, but this is long ago obsoleted by TLS session tickets.

Best practice is to leave smtpd_tls_session_cache_database at its
default empty value.  Perhaps we should at some remove support for
server-side TLS session caches.  If the client does not support session
tickets, it probably does not reuse server side sessions at all, or very
effectively.

The client-side TLS session is however useful, and should not grow
unreasonably, because it is keyed by the hostnames of machines to which
you send outgoing mail.  Spammers generally don't get to choose which
domains you send mail to, so this cache remains much smaller.  You
can also, if needed reduce the cache TTL from ~1h to say 15m if the
cache is still large.

Yes, of course, as a matter of principle you want databases that recover
from temporary space exhaustion.  Perhaps LMDB will exhibit better
behaviour when disk space is temporarily tight, and subsequently
recovers.  You'd have to test that.

-- 
    Viktor.
_______________________________________________
Postfix-users mailing list -- postfix-users@postfix.org
To unsubscribe send an email to postfix-users-le...@postfix.org

Reply via email to