Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux Virtual Server: Users

[lvs-users] defunct checkcommand processes w/ ldirectord

 

 

Linux Virtual Server users RSS feed   Index | Next | Previous | View Threaded


david at davidcoulson

Feb 10, 2012, 4:46 PM

Post #1 of 3 (387 views)
Permalink
[lvs-users] defunct checkcommand processes w/ ldirectord

I'm running ldirectord with a few external checkcommands, but end up
with numerous defunct processes on the system.

Seems like this issue:

http://archive.linuxvirtualserver.org/html/lvs-users/2010-08/msg00040.html

I realize I can set an alarm on my command and cause it to exit, but is
there a fix for ldirectord to correctly clean up processes which are
killed due to the internal timeout?

David

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users [at] LinuxVirtualServer
Send requests to lvs-users-request [at] LinuxVirtualServer
or go to http://lists.graemef.net/mailman/listinfo/lvs-users


sohgo at sohgo

Feb 11, 2012, 12:34 AM

Post #2 of 3 (374 views)
Permalink
Re: [lvs-users] defunct checkcommand processes w/ ldirectord [In reply to]

Hello, David

From: David Coulson <david [at] davidcoulson>
|
> I'm running ldirectord with a few external checkcommands, but end up
> with numerous defunct processes on the system.
>
> Seems like this issue:
>
> http://archive.linuxvirtualserver.org/html/lvs-users/2010-08/msg00040.html
>
> I realize I can set an alarm on my command and cause it to exit, but is
> there a fix for ldirectord to correctly clean up processes which are
> killed due to the internal timeout?

Please try the following patch.

diff --git a/ldirectord/ldirectord.in b/ldirectord/ldirectord.in
index 5d26114..c28eb40 100644
--- a/ldirectord/ldirectord.in
+++ b/ldirectord/ldirectord.in
@@ -2671,19 +2671,21 @@ sub run_child
my $real = $$v{real};
my $virtual_id = get_virtual_id_str($v);
my $checkinterval = $$v{checkinterval} || $CHECKINTERVAL;
$0 = "ldirectord $virtual_id";
while (1) {
foreach my $r (@$real) {
$0 = "ldirectord $virtual_id checking $$r{server}";
_check_real($v, $r);
+ check_signal();
}
$0 = "ldirectord $virtual_id";
sleep $checkinterval;
+ check_signal();
ld_emailalert_resend();
}
}

sub _check_real
{
my $v = shift;
my $r = shift;

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users [at] LinuxVirtualServer
Send requests to lvs-users-request [at] LinuxVirtualServer
or go to http://lists.graemef.net/mailman/listinfo/lvs-users


david at davidcoulson

Feb 11, 2012, 6:36 AM

Post #3 of 3 (371 views)
Permalink
Re: [lvs-users] defunct checkcommand processes w/ ldirectord [In reply to]

On 2/11/12 3:34 AM, Sohgo Takeuchi wrote:
>
> Please try the following patch.
Great! That worked. Thanks!

David

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users [at] LinuxVirtualServer
Send requests to lvs-users-request [at] LinuxVirtualServer
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

Linux Virtual Server users RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.