yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #05827
[Bug 1229042] Re: glance qpid notifier can hang under heavy load
** Changed in: glance/grizzly
Assignee: (unassigned) => Flavio Percoco (flaper87)
** Changed in: glance/grizzly
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1229042
Title:
glance qpid notifier can hang under heavy load
Status in OpenStack Image Registry and Delivery Service (Glance):
Fix Released
Status in Glance grizzly series:
Fix Released
Bug description:
Glance qpid notifier can hang under heavy image creation load.
The issue happens because of two issse:
- The qpid notifier instance can be called by multiple green thread concurrently, one thread may recreate the connection object, while other thread working.
The connection object should be local variable instead of object variable, in order to avoid unwanted modification, or replacement.
The second issue the python-qpid uses PipeWaiter with a
select.select. The select is not monkey patched to the be green thread
friendly, is can causes hang issue.
All other AMQP user openstack competent monkey patches the thread and select modules, but glance not.
Usually good practice to make everything what is possible green thread/eventlet safe and make the application more preemptive.
cinder, neutron makes everything evenetlet friend, nova excludes the 'os' module.
I would recommend to make everything greenlet friendly.
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1229042/+subscriptions