On Jul 14, 2014, at 12:29 PM, Chris Friesen <chris.frie...@windriver.com> wrote:
> On 07/09/2014 05:17 AM, Ihar Hrachyshka wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA512 >> >> Hi all, >> >> Multiple projects are suffering from db lock timeouts due to deadlocks >> deep in mysqldb library that we use to interact with mysql servers. In >> essence, the problem is due to missing eventlet support in mysqldb >> module, meaning when a db lock is encountered, the library does not >> yield to the next green thread, allowing other threads to eventually >> unlock the grabbed lock, and instead it just blocks the main thread, >> that eventually raises timeout exception (OperationalError). >> >> The failed operation is not retried, leaving failing request not >> served. In Nova, there is a special retry mechanism for deadlocks, >> though I think it's more a hack than a proper fix. > > This may be a bit of a tangent to the original discussion, but does anyone > know where we stand with postgres and eventlets? Is pyscopg2 susceptible to > the same problems as mysqldb? if psycopg2 is in use, the set_wait_callback() extension must be enabled. see http://initd.org/psycopg/docs/extensions.html#psycopg2.extensions.set_wait_callback and https://bitbucket.org/zzzeek/green_sqla/src/2732bb7ea9d06b9d4a61e8cd587a95148ce2599b/green_sqla/psyco_gevent.py?at=default for an example use taken from psycopg2 developers. _______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev