The error came out after about 50 seconds. I don't know the pool_recycle 
setting. Since I didn't change it, it would be whatever default by RelStorage 
or SQLAlchemy. But thanks to your comment, I was encouraged to look for more 
general MySQL solutions. Besides the wait_timeout setting, max_allowed_packet 
is another common reason for the 2006 error. It defaults 1MB. After change it 
to 16M, the catalog updated successfully. Hope this will be useful for someone 

 From: Alexandre Garel <>
Sent: Tuesday, March 27, 2012 1:31 PM
Subject: Re: [ZODB-Dev] RelStorage gives MySQL error when rebuilding catalog in 

Le 27/03/2012 18:50, J Z a écrit : 
Sorry about the terrible format. Please allow me to try it again. I have a 
Plone 4.1 site using RelStorage to store the zodb in MySQL 5.5 
server. The site has 700 objects cataloged and the database is less than
300MB  after packing. I won't consider it's a large site. When I tried to 
"update catalog" or "clear & rebuild" the catalog, I got the following error: 
OperationalError: (2006, 'MySQL server has gone away')  The mysql was installed 
with most default settings. The wait_timeout is
28800 according to phpMyAdmin. Can someone give some idea what 
could be wrong and where I should start looking? Thanks! 
DuckDuckGo-ing OperationalError 'MySQL server has gone away'
gives me
is the pool_recycle parameter set at the right value in your case ?(I will 
suggest less than the wait_timeout)

how much time is spent between launch of request and
    OperationalError ?

Hope it helps,


For more information about ZODB, see

ZODB-Dev mailing list  -
For more information about ZODB, see

ZODB-Dev mailing list  -

Reply via email to