Comment 2 for bug 1097980

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/24704
Committed: http://github.com/openstack/nova/commit/f9a89b7065ff4a15bf7ce14a983e8934cd4710f4
Submitter: Jenkins
Branch: master

commit f9a89b7065ff4a15bf7ce14a983e8934cd4710f4
Author: Chris Behrens <email address hidden>
Date: Mon Mar 18 20:26:02 2013 +0000

    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