Hi Daniel!
On 08.05.2015 15:33, Daniel-Constantin Mierla wrote:
Hello,
On 08/05/15 15:13, Klaus Darilion wrote:
Hi!
(Kamailio 4.2.2 on Debian Squeeze with libmysqlclient16 5.1.73)
I have a problem that a lost TCP connection is not detected by
Kamailio/MySQL-CLient and this blocks the Kamailio process for 15
minutes until Linux reports the TCP connection as broken.
I am using db_mysql with the default settings. Thus, according to the
db_mysql README, the default timeout_interval() of 2 seconds should
be used.
As this is not the case I took a look at the code and got confused: it
seems there are 2 different mysql modules in modules/db_mysql, eg: the
interface is defined in mysql_mod.c and km_db_mysql.c. Which one is
actually used? I see they have different timeout setting code.
Any hints on why the timeout is not working?
the files starting with km_* are used
by kamailio modules. The other
are
for db api v2, used by few modules inherited from ser (those prefixed
with uid_*).
I checked the code and the timeouts are correctly initialized.
During all my tests Kamailio behaves correct and the lost TCP connection
is detected after the configured timeout.
But what drives my nuts is: it does not work on my production server. Do
you have any ideas what could be the case that the timeout is not
detected?
I think it is related to the debugger module. First tests show that
the mysql timeout works if the debugger module is not loaded. Is there
a known issue, e.g. with signal handlers, when the debugger module is
loaded?