diff options
| author | Chris Behrens <cbehrens@codestud.com> | 2013-03-18 20:26:02 +0000 |
|---|---|---|
| committer | Chris Behrens <cbehrens@codestud.com> | 2013-03-18 20:26:02 +0000 |
| commit | f9a89b7065ff4a15bf7ce14a983e8934cd4710f4 (patch) | |
| tree | c0f673e404f87749cd0156be5776d9f43cb09ffe /nova/openstack | |
| parent | f14cd697c005f946886f90f7af8379c58e062ed1 (diff) | |
| download | nova-f9a89b7065ff4a15bf7ce14a983e8934cd4710f4.tar.gz nova-f9a89b7065ff4a15bf7ce14a983e8934cd4710f4.tar.xz nova-f9a89b7065ff4a15bf7ce14a983e8934cd4710f4.zip | |
Fix XenAPI performance issue
This patch implements 'list_instance_uuids' in the xenapi virt driver so
that compute manager's '_get_instances_on_driver' can operate more
efficiently.
Fixes bug 1097980
The cleanup_running_deleted_instances periodic task uses the above call
while context has been modified to be read_deleted='yes'. Without
list_instance_uuids being implemented in xenapi, there's a fallback to
querying all instances on the host. Because of read_deleted='yes', this
queries all instances that have ever lived on the host. In a very busy
environment where instances are repeatedly built and destroyed, one can
end up with thousands of deleted instances. Now that we are storing
instance_type data in system_metadata and system_metadata is joined with
every instance_get, this results in 10x the number of rows being
returned with sqlalchemy... the fallback doesn't perform well enough.
Change-Id: I4bbfd69c9769807cec813af757665f03d9643460
Diffstat (limited to 'nova/openstack')
0 files changed, 0 insertions, 0 deletions
