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...



Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to