[ZODB-Dev] bug with RelStorage's zodbconvert --clear when clearing a large DB with MySQL
Shane Hathaway
shane at hathawaymix.org
Mon Jan 31 23:11:34 EST 2011
On 02/01/2011 12:19 AM, Chris Withers wrote:
> Hi Shane,
>
> This one's less serious if it is what I think it is:
>
> Traceback (most recent call last):
> File "bin/zodbconvert", line 24, in<module>
> relstorage.zodbconvert.main()
> File
> "/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/zodbconvert.py",
> line 89, in main
> destination.zap_all()
> File
> "/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/storage.py",
> line 308, in zap_all
> self._rollback_load_connection()
> File
> "/var/buildout-eggs/RelStorage-1.4.0-py2.6.egg/relstorage/storage.py",
> line 217, in _rollback_load_connection
> self._load_conn.rollback()
> _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
>
> My guess is that the zap_all took so long that the server had gone away
> by the time the sql statement had be executed.
My guess is MySQL is configured to drop connections when they are idle.
That is a bad idea IMHO, so I think raising that exception is the
right thing to do, not a bug.
> I also had a segfault trying to do the same conversion which I'm
> attributing to the MySQL server being restarted by an overeager DBA
> mid-converstion but still, that shouldn't cause a segfault, right?
I don't know why it would.
Shane
More information about the ZODB-Dev
mailing list