diff options
| author | Johannes Erdfelt <johannes.erdfelt@rackspace.com> | 2012-07-19 17:11:24 +0000 |
|---|---|---|
| committer | Johannes Erdfelt <johannes.erdfelt@rackspace.com> | 2012-07-19 18:01:35 +0000 |
| commit | b244f6fde2e4b85a01a8e0a340d12a1fa9073236 (patch) | |
| tree | 0c979f7f4f852081428f60c93f8e4f1c5be5264e /nova/openstack | |
| parent | f8b83b7220955252453a71046ef29f07e082ebca (diff) | |
| download | nova-b244f6fde2e4b85a01a8e0a340d12a1fa9073236.tar.gz nova-b244f6fde2e4b85a01a8e0a340d12a1fa9073236.tar.xz nova-b244f6fde2e4b85a01a8e0a340d12a1fa9073236.zip | |
Fix SQL deadlock in quota reservations
Fixes bug 1026709
The code in quota_reserve acquires SQL locks in a different order than
the code in reservation_commit/reservation_rollback. This can result in
an SQL deadlock under heavy load. Due to an (unrelated) bug in
SQLAlchemy, this can result in this exception:
ResourceClosedError: This result object does not return rows. It has
been closed automatically.
This patch reorganizes the code to always fetch (and thusly lock) the
quota_usages table before the reservations table.
Change-Id: Ia364496a996870d754094915ea0501ff19052037
Diffstat (limited to 'nova/openstack')
0 files changed, 0 insertions, 0 deletions
