Package: postfix-policyd
Version: 1.80-2.3
Severity: normal

Hi,

I had a crash of MySQL a few days ago which destroyed the database of
postfix-policyd. I didn't notice, until all my applications complained
they couldn't connect to MySQL due to too much open connections. Policyd
held 87 open connections. Then I saw that the database was empty and all
tables were gone.

I guess a select of policyd failed and it assumed the connection is down.
Therefore, it had opened a new connection and had thrown away the still
open and working connection.

If this is the case, can you enhence the code to check what went wrong
and only open a new connection, if the connection is really gone? Maybe
you could check the availability of the connection with a simple select
NULL; that succeeds even if no database is selected.

In case of a broken database, you should also print a message to the log,
because in my situation I found nothing that indecated any database
problem, even through the select/update after the open of a new
connection failed.

Bye, Jörg

-- System Information:
Debian Release: unstable/experimental
  APT prefers unstable
  APT policy: (900, 'unstable'), (700, 'experimental')
Architecture: powerpc (ppc)

Kernel: Linux 2.6.34
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Attachment: signature.asc
Description: Digital signature http://en.wikipedia.org/wiki/OpenPGP

Reply via email to