[openstack-dev] [oslo.db] PyMySQL review

Clint Byrum clint at fewbar.com
Wed Jan 28 23:40:18 UTC 2015


Excerpts from Johannes Erdfelt's message of 2015-01-28 15:33:25 -0800:
> On Wed, Jan 28, 2015, Mike Bayer <mbayer at redhat.com> wrote:
> > I can envision turning this driver into a total monster, adding
> > C-speedups where needed but without getting in the way of async
> > patching, adding new APIs for explicit async, and everything else.
> > However, I’ve no idea what the developers have an appetite for.
> 
> This is great information. I appreciate the work on evaluating it.
> 
> Can I bring up the alternative of dropping eventlet and switching to
> native threads?
> 
> We spend a lot of time working on the various incompatibilies between
> eventlet and other libraries we use. It also restricts us by making it
> difficult to use an entire class of python modules (that use C
> extensions for performance, etc).
> 
> I personally have spent more time than I wish to admit fixing bugs in
> eventlet and troubleshooting problems we've had.
> 
> And it's never been clear to me why we *need* to use eventlet or
> green threads in general.
> 
> Our modern Nova appears to only be weakly tied to eventlet and greenlet.
> I think we would spend less time replacing eventlet with native threads
> than we'll spend in the future trying to fit our code and dependencies
> into the eventlet shaped hole we currently have.
> 
> I'm not as familiar with the code in other OpenStack projects, but from
> what I have seen, they appear to be similar to Nova and are only weakly
> tied to eventlet/greenlet.

As is often the case with threading, a reason to avoid using it is
that libraries often aren't able or willing to assert thread safety.

That said, one way to fix that, is to fix those libraries that we do
want to use, to be thread safe. :)



More information about the OpenStack-dev mailing list