Hi Andreas,
just a short one: you may also want to experiment with the KEEPALIVE option [1], which specifies how long a session is kept open.
Hope this helps, Christian
[1] http://docs.basex.org/wiki/Options#KEEPALIVE
On Sat, May 26, 2012 at 8:05 AM, Andreas Rulle andreas.rulle@nexoma.de wrote:
Hello Christian,
sorry for the delay of the response.
- Tests with the BaseX722-20120526.024641.zip show that a telnet
connection is effectively interrupted with the new parameter AUTHTIMEOUT and no socket remains open, in contrast to version 7.2.
- But I'm sorry to say Basex when tested by Ldirectord with the
following
checktimeout=10 negotiatetimeout=10 checkinterval=15 autoreload=yes quiescent=no logfile="local0"
virtual=192.168.100.65:1984 real=192.168.100.62:1984 gate 10 scheduler=wlc quiescent=no protocol=tcp checktype=connect
parameters and
AUTHTIMEOUT = 10
it still leaves the sockets open.
- If a telnet session is opened to the basex server and interrupted
before AUTHTIMEOUT has expired then the socket remains open as well.
- Since the productive system uses an outdated version of Ldirectord that
does not support a connection test with an external (perl) script, we at the moment start
- the basexserver on port 1984
- and the rest server on port 80 with login and password (This avoid http
authentifaction of the ldirectord that it does not support.)
The Ldirectord checks as a workaround the liveness of the database with an http service request to rest interface on port 80.
- With this workaround the BaseX database can be monitored for the LVS
load balancer. And this enables us to go productive ...
We wish to thank you and your team for all dedication to his point and for the quality of the BaseX database in general. Please let me know if I can support in further analysing and testing for this topic.
With best regards,
Andreas
Dear Andreas, have you been successful with the latest snapshots? Christian ___________________________
On Wed, May 16, 2012 at 1:11 AM, Christian Grün christian.gruen@gmail.com wrote:
Hi Andreas,
seems you managed to get half of our team up and running.. ;) We have added a new option to limit the maximum time for connecting to the server [1]. By default, it is currently set to 10 seconds; after that, a client will be dismissed. As the implementation is still subject to change, your feedback is welcome (the changes have been discussed in Jens’ pull request [2]).
Christian
[1] http://docs.basex.org/wiki/Options#AUTHTIMEOUT [2] https://github.com/BaseXdb/basex/pull/501 ___________________________
On Tue, May 15, 2012 at 4:37 PM, Andreas Rulleandreas.rulle@nexoma.de wrote:
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
- 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).
- One of the questions that remain is when your fix might be
available in a BaseX release version.
- 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/
-- Nexoma GmbH Theodorus Weg 7 59755 Arnsberg
Tel. + 49 (0) 52 51 1613-0 aktuell + 49 (0) 29 32 99 400 52 Fax + 49 (0) 52 51 1613-99
mailto:andreas.rulle@nexoma.de
Geschäftsführer: Guido Sauerland Sitz der Gesellschaft: Arnsberg Registergericht: Arnsberg, HRB 9365
BaseX-Talk mailing list BaseX-Talk@mailman.uni-konstanz.de https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
-- Nexoma GmbH Theodorus Weg 7 59755 Arnsberg
Tel. + 49 (0) 52 51 1613-0 aktuell + 49 (0) 29 32 99 400 52 Fax + 49 (0) 52 51 1613-99
mailto:andreas.rulle@nexoma.de
Geschäftsführer: Guido Sauerland Sitz der Gesellschaft: Arnsberg Registergericht: Arnsberg, HRB 9365