Hello Jens,
your email has astonished me, that is a really fast reaction!
Hi all,
I just proposed a fix (see pull request). Connections to clients in authentification phase are closed by the server now after `KEEPALIVE` seconds have passed.
Kind regards from Lake Constance, Jens
1. If you want to do some further testing and need some support you are welcome to contact me. Just for your information the source code of the Ldirectord can be found at (1).
The check by Ldirectord on the productive system is done with checkcommand=connect, so the actual check is performed in the method "sub check_connect" at (1). A tcpdump is attached and can be viewed with wireshark (2).
2. One of the questions that remain is when your fix might be available in a BaseX release version.
3. As a workaround, until the fix is in BaseX release, the Ldirectord can be used with the options ... checktype=external-perl checkcommand="/home/nexadmin/perl/Test.pl" ...
And Test.pl could be a script like the following:
# Script to test whether the BaseX-database is available # It return 1 in the case of failure, 0 otherwise use lib "/home/nexadmin/perl"; use BaseXClient; use warnings; use strict;
eval { # create session my $session = Session->new("XXX.XXX.XXX.XXX", 1984, "admin", "admin");
# close session $session->close(); };
# print exception # print $@ if $@; exit 1 if$@;
If there are comments from Perl experts to this version of the script, they are highly appreciated!
With best regards
Andreas
(1) http://horms.net/projects/ldirectord/download/ldirectord-latest (2) http://www.wireshark.org/