← Back to team overview

openstack team mailing list archive

Re: eventlet weirdness


On Wed, Feb 29, 2012, Yun Mao <yunmao@xxxxxxxxx> wrote:
> we sometimes notice this error message which prevent us from starting
> nova services occasionally. We are using a somewhat modified diablo
> stable release on Ubuntu 11.10. It may very well be the problem from
> our patches but I'm wondering if you guys have any insight. In what
> condition does this error occur? There is a similar bug in here:
> https://bugs.launchpad.net/nova/+bug/831599
> but that doesn't offer much insight to me. Helps are very appreciated. Thanks,

greenlet threads (used by eventlet) can't be scheduled across real
threads. This usually isn't done explicitly, but can happen as a side
effect if code uses locks. logging is one instance that I've run into.

This generally hasn't been a problem with nova since it uses the
eventlet monkey patching that makes it hard to generate real threads.

There are two places (at least in trunk) where you need to be careful,
both nova/virt/xenapi_conn.py and libvirt/firewall.py use tpool which
does create a real thread in the background.

If you use logging (and it's not the only source of this problem) then
you can run into this eventlet message.


Follow ups