[sr-dev] ndb_redis: Antisocial behaviour on startup if Redis server unavailable
Vicente Hernando
vhernando at systemonenoc.com
Mon Nov 17 13:07:27 CET 2014
Hi Alex,
I have just download latest master version of kamailio, created a
minimal kam.cfg file for ndb_redis module, and launch kamailio without
any redis server available.
kam.cfg file:
#!KAMAILIO
debug=4
log_stderror=yes
children=4
fork=yes
#disable_tcp=yes
mpath="modules/"
loadmodule "ndb_redis.so"
# An already configured redis server is needed here
modparam("ndb_redis", "server", "name=srv1;addr=127.0.0.1;port=6379;db=0")
request_route {
exit;
}
$ ./kamailio -f kam.cfg
And I cannot reproduce the error.
...
0(12132) INFO: <core> [tcp_main.c:4745]: init_tcp(): using epoll_lt as
the io watch method (auto detected)
...
7(12141) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG:
init_mod_child (7): ndb_redis
4(12138) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG:
init_mod_child (4): ndb_redis
4(12138) ERROR: ndb_redis [redis_client.c:112]: redisc_init(): error
communicating with redis server [srv1] (127.0.0.1:6379/0): Connection
refused
4(12138) ERROR: ndb_redis [ndb_redis_mod.c:116]: child_init(): failed
to initialize redis connections
4(12138) ERROR: <core> [sr_module.c:923]: init_mod_child(): Error
while initializing module ndb_redis (modules/ndb_redis/ndb_redis.so)
4(12138) ERROR: <core> [pt.c:341]: fork_process(): init_child failed
for process 4, pid 12138, "udp receiver child=3 sock=127.0.0.1:5060"
4(12138) CRITICAL: <core> [main.c:1624]: main_loop(): Cannot fork
1(12135) DEBUG: <core> [sr_module.c:920]: init_mod_child(): DEBUG:
init_mod_child (1): ndb_redis
17(12151) ERROR: ndb_redis [redis_client.c:112]: redisc_init(): error
communicating with redis server [srv1] (127.0.0.1:6379/0): Connection
refused
17(12151) ERROR: ndb_redis [ndb_redis_mod.c:116]: child_init(): failed
to initialize redis connections
17(12151) ERROR: <core> [sr_module.c:923]: init_mod_child(): Error while
initializing module ndb_redis (modules/ndb_redis/ndb_redis.so)
17(12151) ERROR: <core> [pt.c:479]: fork_tcp_process(): init_child
failed for process 17, pid 12151, "tcp receiver (generic) child=2"
17(12151) ERROR: <core> [tcp_main.c:4868]: tcp_init_children(): fork
failed: Connection refused
5(12139) ERROR: ndb_redis [redis_client.c:112]: redisc_init(): error
communicating with redis server [srv1] (127.0.0.1:6379/0): Connection
refused
7(12141) ERROR: ndb_redis [redis_client.c:112]: redisc_init(): error
communicating with redis server [srv1] (127.0.0.1:6379/0): Connection
refused
5(12139) ERROR: ndb_redis [ndb_redis_mod.c:116]: child_init(): failed
to initialize redis connections
5(12139) ERROR: <core> [sr_module.c:923]: init_mod_child(): Error
while initializing module ndb_redis (modules/ndb_redis/ndb_redis.so)
7(12141) ERROR: ndb_redis [ndb_redis_mod.c:116]: child_init(): failed
to initialize redis connections
7(12141) ERROR: <core> [sr_module.c:923]: init_mod_child(): Error
while initializing module ndb_redis (modules/ndb_redis/ndb_redis.so)
...
It fails as it should with "Connection refused"
Could you give me more information?
Thanks,
Vicente.
On 11/12/2014 02:52 AM, Alex Balashov wrote:
> PS. The same effect can be achieved by binding a TCP service other
> than Redis to the port Kamailio expects Redis to be on (e.g. 6379).
>
> On 11/11/2014 08:38 PM, Alex Balashov wrote:
>
>> If I kill my Redis server and boot Kamailio with an ndb_redis
>> configuration to connect to Redis via TCP, I get an infinite loop of:
>>
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> Nov 11 20:37:00 centosity6 /usr/local/sbin/kamailio[1892]: ERROR: <core>
>> [io_wait.h:1048]: io_wait_loop_epoll(): epoll_wait(29, 0x7fe025ea06f8,
>> 0, 5000): Invalid argument [22]
>> [...]
>> <ad infinitum/nauseum/full filesystem>
>>
>> -- Alex
>>
>
>
More information about the sr-dev
mailing list