[ZODB-Dev] weird "MySQL gone away error" when viewing history tab on Script(Python) with RelStorage 1.4.2

Chris Withers chris at simplistix.co.uk
Tue May 3 04:10:09 EDT 2011


On 03/05/2011 09:02, Shane Hathaway wrote:
>>> Maybe the query is killing MySQL, for whatever reason.
>>
>> I don't think so, since I'd then expect all the other storages served by
>> that cluster to complain similarly.
>
> Not necessarily. RelStorage reconnects automatically.

...but logs, and I haven't seen any log entries for this. Even for the 
thread which showed this error, which is weird...

> The reconnection
> is invisible unless the disconnect happens in the middle of a request,
> in which case RelStorage raises the error then automatically reconnects
> on the next request.

...or maybe not so weird.

>> However, it's literally just the thread handling this particular request
>> that shows the error...
>
> Two ideas:
>
> - MySQL is dropping the connection after a long period of inactivity,
> then RelStorage doesn't notice it's dropped until it's too late.

Don't think so, this is 100% reproducible, even after the Zope instance 
has just been restarted...

> Connections that poll take defensive steps to prevent that, but maybe
> you're using a connection that does not poll.

I'm using whatever the default that you've specified is ;-)

> - A single MySQL thread is dying. (Is MySQL multithreaded?)

MySQL does indeed appear to be multithreaded, but I've seen no hard 
evidence of thread death, although it's hard to spot...

cheers,

Chris

-- 
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk


More information about the ZODB-Dev mailing list