[Openstack-operators] DB deadlocks due to connection string

Doug Hellmann doug at doughellmann.com
Tue May 23 16:00:44 UTC 2017


Excerpts from Arne Wiebalck's message of 2017-05-23 15:50:43 +0000:
> As discussed on the Cinder channel, I’ve opened
> 
> https://bugs.launchpad.net/oslo.db/+bug/1692956
> 
> to see if oslo.db would be a good place to produce a warning when it detects
> this potential misconfiguration.

This sounds like something we could fix completely by dropping the
use of the offending library. I know there was a lot of work done
to get pymysql support in place. It seems like we can finish that by
removing support for the old library and redirecting mysql://
connections to use pymysql.

Doug

> 
> Cheers,
>  Arne
> 
> On 23 May 2017, at 17:25, Sean McGinnis <sean.mcginnis at gmx.com<mailto:sean.mcginnis at gmx.com>> wrote:
> 
> Just wanted to put this out there to hopefully spread awareness and
> prevent it from happening more.
> 
> We had a bug reported in Cinder of hitting a deadlock when attempting
> to deelte multiple volumes simultaneously:
> 
> https://bugs.launchpad.net/cinder/+bug/1685818
> 
> Some were seeing it, but others were not able to reproduce the error
> in their environments.
> 
> What it came down to is the use of "mysql://" vs "mysql+pymysql://"
> for the database connection string. Big thanks to Gerhard Muntingh
> for noticing this difference.
> 
> Basically, when using "mysql://" for the connection string, that uses
> blocking calls that prevent other "threads" from running at the same
> time, causing these deadlocks.
> 
> This doesn't just impact Cinder, so I wanted to get the word out that
> it may be worth checking your configurations and make sure you are
> using "mysql+pymysql://" for your connections.
> 
> Sean
> 



More information about the OpenStack-operators mailing list