Mysql errors after upgrading DBI and DBD::mysql

Mysql errors after upgrading DBI and DBD::mysql

am 03.10.2005 14:58:10 von Vittorio Bertola

Hello,

we have had a strange problem with DBI and DBD::mysql, so I thought to
post it here to see if other people had similar issues or advice.

Last week, we moved some services from one server to another one. These
services are run by perl daemons which keep connections open permanently
to mysql and perform queries and actions when necessary. We use Gentoo
Linux, and we expected the servers to be substantially equivalent,
except that the new one had less CPU power. The old server had kernel
2.6.10, DBI (package dev-perl/DBI) 1.38 and DBD::mysql (package
dev-perl/DBD-mysql) 2.1027. The new one had kernel 2.6.8. Mysql is
4.0.20 on both machines, compiled manually in /opt. When migrating, to
ensure data consistency, we did a copy of /var/lib/mysql/* from the old
to the new server.

When we started the services, immediately we started to get this kind of
errors in the error log for mysql:

Aborted connection 15246 to db: '[...]' user: '[...]' host: `localhost'
(Got an error reading communication packets)

They were happening very often, e.g. an error of this kind every few
seconds. As a results, services were broken: queries would very often
fail at the ->fetchrow() even after a successful ->execute().

In the end, we realized that the new server had updated versions of DBI
(1.46) and DBD-mysql (2.9003). We downgraded the first package to the
old version, and errors seemed to slow down a bit. We downgraded the
second one, and they almost disappeared. Now we get a couple of errors
of this kind per day at most. (Interestingly, we now started to get some
'Got timeout reading communication packets' as well.)

We also had the same errors generated by PHP pages doing similar actions
and they almost disappeared when we set mysql.allow_persistent=Off in
php.ini.

Is there any obvious reason for this that I might be missing? Might it
be due to the way we coded our daemons? Generic integration problems
that might go away with a clean reinstallation of the entire system? Or
might it be a new bug / feature somewhere?

Thanks,
--
Vittorio Bertola - vb [at] dynamicfun.com
President & Chief Technical Officer - Dynamic Fun srl
Via Cardinal Massaia 83 - 10147 Torino - Italy
Tel. +39 011 23 03 643 - Fax +39 011 23 09 413


--
MySQL Perl Mailing List
For list archives: http://lists.mysql.com/perl
To unsubscribe: http://lists.mysql.com/perl?unsub=gcdmp-msql-mysql-modules@m .gmane.org