Database timeout when receiving an email via LMTP causes message deferral.
This is an installation using Postgres as a database backend. The receiving MTA is postfix on a separate system, forwarding mail via LMTP to mailman.
Mailman sometimes, seemingly at random, will throw this error when receiving a email:
Aug 04 16:46:42 2015 (25966) LMTP message parsing
Traceback (most recent call last):
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
context)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
cursor.execute(statement, parameters)
psycopg2.DatabaseError: could not receive data from server: Connection timed out
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/mailman/runners/lmtp.py", line 177, in process_message
listnames = set(getUtility(IListManager).names)
File "/usr/lib/python3.4/site-packages/mailman/model/listmanager.py", line 107, in names
MailingList.list_name):
File "/usr/lib64/python3.4/site-packages/sqlalchemy/orm/query.py", line 1011, in values
return iter(q)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/orm/query.py", line 2438, in __iter__
return self._execute_and_instances(context)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/orm/query.py", line 2453, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 729, in execute
return meth(self, multiparams, params)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/sql/elements.py", line 322, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 826, in _execute_clauseelement
compiled_sql, distilled_params
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 958, in _execute_context
context)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 1159, in _handle_dbapi_exception
exc_info
File "/usr/lib64/python3.4/site-packages/sqlalchemy/util/compat.py", line 188, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=exc_value)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/util/compat.py", line 181, in reraise
raise value.with_traceback(tb)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/base.py", line 951, in _execute_context
context)
File "/usr/lib64/python3.4/site-packages/sqlalchemy/engine/default.py", line 436, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.DatabaseError: (DatabaseError) could not receive data from server: Connection timed out
'SELECT mailinglist.mail_host AS mailinglist_mail_host, mailinglist.list_name AS mailinglist_list_name \nFROM mailinglist' {}
This is the log at the MTA:
Aug 4 16:31:12 smtp1 postfix/smtpd[11009]: 55EEF209: client=mail-wi0-f172.google.com[209.85.212.172]
Aug 4 16:31:12 smtp1 postfix/cleanup[13830]: 55EEF209: message-id=<CAOb01c8m_CLBN92CZJSs+=Y4MsNBEDXn44_WC3MF54K_zKaJ+A@mail.gmail.com>
Aug 4 16:31:14 smtp1 postfix/qmgr[10106]: 55EEF209: from=<***@gmail.com>, size=20958, nrcpt=1 (queue active)
Aug 4 16:41:14 smtp1 postfix/lmtp[14735]: 55EEF209: to=<***@lists.***.org>, relay=172.17.197.36[172.17.197.36]:8024, delay=602, delays=1.8/0.02/0.01/600, dsn=4.4.2, status=deferred (conversation with 172.17.197.36[172.17.197.36] timed out while sending end of data -- message may be sent more than once)
Aug 4 16:53:18 smtp1 postfix/qmgr[10106]: 55EEF209: from=<***@gmail.com>, size=20958, nrcpt=1 (queue active)
Aug 4 16:53:18 smtp1 postfix/lmtp[17173]: 55EEF209: to=<***v@lists.***.org>, relay=172.17.197.36[172.17.197.36]:8024, delay=1326, delays=1326/0.01/0/0.02, dsn=2.0.0, status=sent (250 Ok)
Aug 4 16:53:18 smtp1 postfix/qmgr[10106]: 55EEF209: removed
Please let me know what other information I should provide to help troubleshoot this issue.