Jatin Kumar
2012-Jan-11 18:14 UTC
[libvirt-users] Unable to close open libvirt connections
Hello, I was getting the following error in syslog: libvirtd: 21:19:12.116: 10955: error : qemudDispatchServer:1355 : Too many active clients (20), dropping connection from 127.0.0.1;0 I investigated a bit and tried the following in a python console: import libvirt ~~~~ conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system<http://10.16.71.1/system> ") //now check the no. of connections (by lsof|grep ESTABLISHED in the HOST), the count will increase by 1 conn.close() *//the count will decrease by 1, it returns 0* ~~~~ conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system<http://10.16.71.1/system> ") //now check the no. of connections, the count will increase by 1 dom=conn.lookupByName("sowmya") print dom.info() conn.close() *//the count will not change, it returns 1* * * This is creating a lot of trouble to me but the reason is unknown. If someone could please point me out, if i am missing something. -- Jatin -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20120111/e5ec5f65/attachment.htm>
Michal Privoznik
2012-Jan-12 09:10 UTC
[libvirt-users] Unable to close open libvirt connections
On 11.01.2012 19:14, Jatin Kumar wrote:> Hello, > I was getting the following error in syslog: > libvirtd: 21:19:12.116: 10955: error : qemudDispatchServer:1355 : Too > many active clients (20), dropping connection from 127.0.0.1;0 > > I investigated a bit and tried the following in a python console: > > import libvirt > ~~~~ > conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system > <http://10.16.71.1/system>") > //now check the no. of connections (by lsof|grep ESTABLISHED in the > HOST), the count will increase by 1 > conn.close() > *//the count will decrease by 1, it returns 0* > ~~~~ > conn=libvirt.openReadOnly("qemu+ssh://HOST_IP/system > <http://10.16.71.1/system>") > //now check the no. of connections, the count will increase by 1 > dom=conn.lookupByName("sowmya") > print dom.info <http://dom.info/>() > conn.close() > *//the count will not change, it returns 1* > * > * > This is creating a lot of trouble to me but the reason is unknown. > If someone could please point me out, if i am missing something. > -- > Jatinconn.close() returns the number of references to connection object; So if the latter example returns 1 it is right as you still have domain object which you obtained via lookupByName(). So you need to destroy that object prior to closing connection. Michal