[Catalyst] MySQL server has gone away

Oleg Pronin syber.rus at gmail.com
Sat Apr 28 16:57:11 GMT 2007


> $sth->errstr() =3D~ m/gone away/i
this is the first method that i used. (per database string checking)
and this is i'm going away from.


2007/4/28, Peter Edwards <peter at dragonstaff.com>:
>
> I've seen this problem under Red Hat Enterprise Linux 4 and Mysql 3.23 and
> suspect it was down to incorrect configuration of full/half duplex on the
> Network Interface Card against the router, possibly combined with a Linux
> Ethernet driver bug. Some useful pointers here
> http://dev.mysql.com/doc/refman/5.0/en/communication-errors.html
> http://dev.mysql.com/doc/refman/5.0/en/gone-away.html
>
> We put in code to wrap the DBI calls, detect the error and re-run the
> transactions in that case. You can detect it with $sth->execute() fails
> and
> $sth->errstr() =3D~ m/gone away/i
>
> For lookups we use tie() through a locking wrapper to DB_File, generating
> the DBM databases from master data in the database.
>
> Regards, Peter
> Dragonstaff Limited  http://www.dragonstaff.com
>
> >     Oleg Pronin wrote:
> >     > One can say that it is a very rare situation. I can tell you that
> in
> >     > production environment (about 1.000.000 hits per day) it happens
> >     every
> >     > day several times. Some users just see an error, some lost their
> >     data.
> >     > This is just not always visible to you.
> >     The OP may find a requirement to incorporate a transaction model
> >     (explicit start txn/commit/rollback) to solve this problem in MySQL;
> >     which is what they'd have to do for Oracle or Postgres or Rdb. I'd
> >     hope
> >     that MySQL reports a transaction failure when the database
> connection
> >     evaporates. This would allow a retry on the failed transaction.
> >     However,
> >     it may be that the Catalyst Controller / View design/implementation
> is
> >     only what would ordinarily be flat file accesses that use SQL
> >     instead of
> >     keyed-access flat files. If that's the case, wrapping a transaction
> >     around each of these SQL prepare/execute pairs will be a substantial
> >     performance hit.
>
>
>
> _______________________________________________
> List: Catalyst at lists.rawmode.org
> Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.rawmode.org/
> Dev site: http://dev.catalyst.perl.org/
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20070428/2b949=
0e2/attachment.htm


More information about the Catalyst mailing list