← Back to team overview

yahoo-eng-team team mailing list archive

[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