[sr-dev] MySQL weirdness - timeout does not work

Klaus Darilion klaus.mailinglists at pernau.at
Fri May 15 17:54:18 CEST 2015


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?

Thanks
Klaus




More information about the sr-dev mailing list