On Thu, Jul 29, 2010 at 02:32:06PM -0400, Chris Lalancette wrote:
On 07/29/10 - 07:41:26PM, Jaromír Červenka wrote:
> Hi,
>
> i think that I know where is the problem. My "messages" log says:
>
> Jul 29 19:36:41 divinus libvirtd: 19:36:41.032: error :
> qemudDispatchServer:1315 : Too many active clients (100), dropping
> connection
>
> It looks like that ruby-libvirt doesn't closing connection, when it's
> running under passenger/rails/apache. The "100" is my defined number in
> /etc/libvirt/libvirtd.conf
Ah, OK. So then the question becomes whether the problem is in the ruby
bindings not releasing the object in certain circumstances, or in rails
holding onto the object too long. Unfortunately I'm not really that familiar
with rails or passenger, so I'm not entirely sure how to figure out where the
problem is.
I'll see if I can do a bit of testing and look at object lifetimes from the
point-of-view of ruby-libvirt to try and eliminate that from the equation.
Does ruby-libvirt rely on garbage collection to close the
connection, or is there an explicit 'close' method on the
virConnect binding. It is generally not workable to rely
on garbage collection for closing connections because of
the unpredictability of when that may run.
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|