[openstack-dev] Where should a test for eventlet and oslo.db interaction go?

Sean Dague sean at dague.net
Thu Jul 10 11:47:07 UTC 2014


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.

	-Sean

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
> 


-- 
Sean Dague
http://dague.net

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 482 bytes
Desc: OpenPGP digital signature
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140710/80b287fd/attachment.pgp>


More information about the OpenStack-dev mailing list