Bug 666266 - outgoing qemu migrations block all other libvirt calls
Summary: outgoing qemu migrations block all other libvirt calls
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Virtualization Tools
Classification: Community
Component: libvirt
Version: unspecified
Hardware: x86_64
OS: Linux
low
high
Target Milestone: ---
Assignee: Libvirt Maintainers
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-29 22:50 UTC by Igor
Modified: 2012-04-19 23:40 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-19 23:40:23 UTC
Embargoed:


Attachments (Terms of Use)

Description Igor 2010-12-29 22:50:42 UTC
Description of problem:
When a migration is running, libvirt becomes completely inaccessible, with all other calls blocking until the migration completes.

Version-Release number of selected component (if applicable):
Tested on 0.8.5 and 0.8.6, including the default built for Fedora 14 on Fedora 14

How reproducible:
Always


Steps to Reproduce:
1. Begin a migration of a qemu domain
2. Attempt any other libvirt action; 'virsh list' is an easy example
  
Actual results: 
The second command will stall until the migration is complete

Expected results:
The second command should return immediately with results

Additional info:

Comment 1 Igor 2011-03-24 09:51:59 UTC
I recently had a chance to come back to this problem, and I'm sorry to 
say that it hasn't gotten any better. I tested on debian sid with a 
stock install of kvm 0.14 and libvirt 0.8.8-3 -- i'm still completely
unable to interact with libvirt while an outgoing migration is in 
progress, although it seems as though actual migrations have gotten much
faster.

Comment 2 Eric Blake 2012-04-19 23:40:23 UTC
Should be better now, thanks to commits like these:

commit d58e91a812e254d1384370fe6f3c7b0b24cc952a
Author: Jiri Denemark <jdenemar>
Date:   Tue Jul 19 02:27:32 2011 +0200

    qemu: Migration job on source daemon
    
    Make MIGRATION_OUT use the new helper methods.
    
    This also introduces new protection to migration v3 process: the
    migration job is held from Begin to Confirm to avoid changes to a domain
    during migration (esp. between Begin and Perform phases). This change is
    automatically applied to p2p and tunneled migrations. For normal
    migration, this requires support from a client. In other words, if an
    old (pre 0.9.4) client starts normal migration of a domain, the domain
    will not be protected against changes between Begin and Perform steps.

If you can still reproduce the problem on 0.9.11, feel free to reopen this, but for now I'm going to close it.


Note You need to log in before you can comment on or make changes to this bug.