[openstack-dev] Where should a test for eventlet and oslo.db interaction go?
Jay Pipes
jaypipes at gmail.com
Fri Jul 11 15:34:44 UTC 2014
On 07/10/2014 07:47 AM, Sean Dague wrote:
> Honestly, that seems weird to me.
>
> oslo.db is built as a common layer for OpenStack services.
>
> eventlet is used by most OpenStack services.
>
> There are lots of known issues with eventlet vs. our db access patterns.
>
> Knowing that the db layer works in the common OpenStack pattern seems
> really important. And something that seems to make sense very close to
> the db code itself.
+1
-jay
> On 07/10/2014 07:42 AM, Victor Sergeyev wrote:
>> Hello Angus!
>>
>>
>> IMO, the simple answer on your question is - tests for eventlet and
>> oslo.db interaction should be in the same place, where eventlet and
>> oslo.db interact. :)
>>
>>
>> A little digression - we suppose, that oslo.db should neither know, nor
>> take care whether target projects use eventlet/gevent/OS
>> threads/multiple processes/callbacks/etc for handling concurrency -
>> oslo.db just can't (and should not) make such decisions for users. For
>> the very same reason SQLAlchemy doesn't do that.
>>
>>
>> Thanks,
>>
>> Victor
>>
>>
>> On Thu, Jul 10, 2014 at 10:55 AM, Angus Lees <guslees at gmail.com
>> <mailto:guslees at gmail.com>> wrote:
>>
>> We have an issue with neutron (and presumably elsewhere), where
>> mysqldb and eventlet may deadlock, until the mysqldb deadlock timer
>> fires.
>> I believe it's responsible for ~all of these failures:
>> http://logstash.openstack.org/#eyJzZWFyY2giOiJcIkxvY2sgd2FpdCB0aW1lb3V0IGV4Y2VlZGVkOyB0cnkgcmVzdGFydGluZyB0cmFuc2FjdGlvblwiIiwiZmllbGRzIjpbXSwib2Zmc2V0IjowLCJ0aW1lZnJhbWUiOiI2MDQ4MDAiLCJncmFwaG1vZGUiOiJjb3VudCIsInRpbWUiOnsidXNlcl9pbnRlcnZhbCI6MH0sInN0YW1wIjoxNDA0OTcwMzgwMjc0fQ==
>>
>> Now, the fix is one thing and is underway (the current favourite
>> option is just switching to a different mysql client library) - my
>> question here is instead about this test:
>>
>> https://review.openstack.org/#/c/104436/
>>
>> This test (as written) is against oslo.db and drives eventlet +
>> sqlalchemy to confirm that the current sqlalchemy driver does _not_
>> have the above deadlock observed with mysqldb. I think it (or some
>> version of it) is an important test, but the oslo.db guys don't want
>> it in their testsuite since they've purged every explicit mention of
>> eventlet. I'm sympathetic to this pov.
>>
>> I think we should have something like this test *somewhere*, at
>> least as long as we're using eventlet frequently.
>>
>> I'm a bit new to openstack, so I'm lost in a maze of testing
>> options. Could some kind member of the TC point to where this test
>> *should* go?
>>
>> --
>> - Gus
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> <mailto:OpenStack-dev at lists.openstack.org>
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
More information about the OpenStack-dev
mailing list