[openstack-dev] [oslo] Add a new aiogreen executor for Oslo Messaging

Jay Pipes jaypipes at gmail.com
Mon Nov 24 16:30:16 UTC 2014


On 11/24/2014 10:43 AM, Mike Bayer wrote:
>> On Nov 24, 2014, at 9:23 AM, Adam Young <ayoung at redhat.com> wrote:
>> For pieces such as the Nova compute that talk almost exclusively on
>> the Queue, we should work to remove Monkey patching and use a clear
>> programming model.  If we can do that within the context of
>> Eventlet, great.  If we need to replace Eventlet with a different
>> model, it will be painful, but should be done.  What is most
>> important is that we avoid doing hacks like we've had to do with
>> calls to Memcached and monkeypatching threading.
>
> Nova compute does a lot of relational database access and I’ve yet to
> see an explicit-async-compatible DBAPI other than psycopg2’s and
> Twisted abdbapi.   Twisted adbapi appears just to throw regular
> DBAPIs into a thread pool in any case (see
> http://twistedmatrix.com/trac/browser/trunk/twisted/enterprise/adbapi.py),
> so given that awkwardness and lack of real async, if eventlet is
> dropped it would be best to use a thread pool for database-related
> methods directly.

Hi Mike,

Note that nova-compute does not do any direct database queries. All 
database reads and writes actually occur over RPC APIs, via the 
conductor, either directly over the conductor RPC API or indirectly via 
nova.objects.

For the nova-api and nova-conductor services, however, yes, there is 
direct-to-database communication that occurs, though the goal is to have 
only the nova-conductor service eventually be the only service that 
directly communicates with the database.

Best,
-jay





More information about the OpenStack-dev mailing list