OpenStack Image Registry and Delivery Service (Glance)

Improved concurrent eventlet thread performance

Reported by Stuart McLaren on 2012-07-04
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Glance
Wishlist
Stuart McLaren

Bug Description

When multiple clients are uploading/downloading images some eventlet threads can get starved. This
happens in particular when multiple requests land on the same Glance worker process.

This has been seen on Glance when using https, and probably will also occur for 'fast' clients, as described
in some depth here:

https://github.com/openstack/swift/commit/783f16035a8e251d2138eb5bbaa459e9e4486d90

Fix proposed to branch: master
Review: https://review.openstack.org/9330

Changed in glance:
assignee: nobody → Stuart McLaren (stuart-mclaren)
status: New → In Progress
Brian Waldon (bcwaldon) on 2012-07-04
summary: - Improved concurrency
+ Improved concurrent eventlet thread performance
Changed in glance:
importance: Undecided → Wishlist
milestone: none → folsom-3

Reviewed: https://review.openstack.org/9330
Committed: http://github.com/openstack/glance/commit/70e9690830653ed92d15c4a696cae8778c635206
Submitter: Jenkins
Branch: master

commit 70e9690830653ed92d15c4a696cae8778c635206
Author: Stuart McLaren <email address hidden>
Date: Wed Jul 4 16:38:07 2012 +0000

    Improve eventlet concurrency when uploading/downloading.

    When uploading/downloading multiple images using the
    same glance-api worker process some of its eventlet
    threads can become starved. Inserting statements to
    trigger cooperative yields, ie sleep(0), allows fairer
    scheduling of the other eventlet threads.

    Fixes LP Bug #1021002.

    Change-Id: I5a8f255e9507d18813d07d418e6acefa10d9f6bb

Changed in glance:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2012-08-15
Changed in glance:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2012-09-27
Changed in glance:
milestone: folsom-3 → 2012.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers