Mysql errors after upgrading DBI and DBD::mysql
Vittorio Bertola <[email protected]>
| Newsgroups | gmane.comp.db.mysql.perl |
|---|---|
| Organization | Dynamic Fun |
| Message-ID | <[email protected]> |
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/[email protected]