There are plenty eventlet discussion recently but I'll stick my question to this thread, although it's pretty much a separate question. :)
How is MySQL access handled in eventlet? Presumably it's external C library so it's not going to be monkey patched. Does that make every db access call a blocking call? Thanks, Yun On Wed, Feb 29, 2012 at 9:18 PM, Johannes Erdfelt <johan...@erdfelt.com> wrote: > On Wed, Feb 29, 2012, Yun Mao <yun...@gmail.com> wrote: >> Thanks for the explanation. Let me see if I understand this. >> >> 1. Eventlet will never have this problem if there is only 1 OS thread >> -- let's call it main thread. > > In fact, that's exactly what Python calls it :) > >> 2. In Nova, there is only 1 OS thread unless you use xenapi and/or the >> virt/firewall driver. >> 3. The python logging module uses locks. Because of the monkey patch, >> those locks are actually eventlet or "green" locks and may trigger a >> green thread context switch. >> >> Based on 1-3, does it make sense to say that in the other OS threads >> (i.e. not main thread), if logging (plus other pure python library >> code involving locking) is never used, and we do not run a eventlet >> hub at all, we should never see this problem? > > That should be correct. I'd have to double check all of the monkey > patching that eventlet does to make sure there aren't other cases where > you may inadvertently use eventlet primitives across real threads. > > JE > > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp _______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp