[openstack-dev] [Quantum] Lock wait of mysql blocks all eventlet thread

Nachi Ueno nachi at nttmcl.com
Mon Dec 3 22:37:55 UTC 2012


Hi Yong

Yeah, I didn't know the work of
https://blueprints.launchpad.net/nova/+spec/non-blocking-db, it looks hard
to solve.
So we may solve the problem just apply the patch for quantum.

I filed this as a bug.
 https://bugs.launchpad.net/quantum/+bug/1086173


2012/12/3 gong yong sheng <gongysh at linux.vnet.ibm.com>

>  It seems easy to fix it.
>
> On 12/04/2012 06:03 AM, Nachi Ueno wrote:
>
> Hi Quantum folks
>
>  This bp for nova looks like solve the quantum one also.
> https://blueprints.launchpad.net/nova/+spec/non-blocking-db
>
>
> 2012/12/3 Nachi Ueno <nachi at nttmcl.com>
>
>> Hi Quantum folks
>>
>>  I faced the problem with mysql transaction and eventlet.
>>
>>  Quantum using transaction support of sqlalchemy
>> Quantum also using eventlet for RPC
>>
>>  Let's say there are api request A and B.
>> Sql request of A will lock B's sql request.
>>  so B's sql request will wait the A's transaction.
>>
>>  On the other hand, we are using evenetlet.
>> Since we are using mysql c client, the API request may block eventlet
>>  thread.
>>
>>  so when B start wait sql lock, it blocks all eventlet thread including
>> api request A until lock timeout.
>>
>>  I asked Jay about the this problem, and he said Nova solve this problem
>> by this way.
>>
>> https://github.com/openstack/nova/blob/master/nova/db/sqlalchemy/api.py#L2610
>>
>>  The strategy is to get lock just after the transaction started using. (
>> I'm not sure we can use same strategy in the quantum. )
>>
>>  Anyway,  It looks big change needed for me.
>>
>
>
>
> _______________________________________________
> OpenStack-dev mailing listOpenStack-dev at lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121203/7ebae304/attachment.html>


More information about the OpenStack-dev mailing list