[Freeswitch-users] Problem with limit and hiredis (related with sqlite?)

Jose Fco. Irles DurĂ¡ josefu at gmail.com
Tue Mar 31 16:00:54 UTC 2020


Hello!

I use "limit hiredis" for limit concurrency in a multi-node setup.

In some calls, freeswitch don't decrement the counter in redis, and
after some time my customers can't call because they reach the
concurrency limit.

I have searched for "hiredis" lines in the logs without luck, but I
have founded this in all nodes:

2020-03-31 14:55:08.766208 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select * from basic_calls where b_uuid is not null and
hostname='sip12' order by created_epoch]
2020-03-31 15:18:38.766210 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-03-31 15:28:28.166208 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select
call_id,sip_user,sip_host,contact,status,rpid,expires,user_agent,server_user,server_host,profile_name
from sip_registrations where force_ping=1 and hostname='sip12' and
profile_name='internal' and orig_hostname='sip12' and ping_expires > 0
and ping_expires <= 1585661308]
2020-03-31 15:41:58.246211 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select count(*) from channels where hostname='sip12']
2020-03-31 15:54:58.246209 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select count(*) from channels where hostname='sip12']
2020-03-31 16:08:58.266208 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select count(*) from basic_calls where
hostname='sip12']
2020-03-31 16:11:58.246220 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select count(*) from channels where hostname='sip12']
2020-03-31 16:19:58.246213 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select count(*) from channels where hostname='sip12']
2020-03-31 16:35:58.246214 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-03-31 16:55:38.786210 [WARNING] switch_core_db.c:92 SQLite is
BUSY, sane=299 [select * from basic_calls where b_uuid is not null and
hostname='sip12' order by created_epoch]

In my setup the "core.db" is in ram with that dsn:
sqlite:///dev/shm/core.db

The FreeSWITCH version is 1.10.2 from deb repositories, I think that
in the previous version (1.10.1) this not happens.

This night I'll downgrade the version for confirm it.

I have readed that in that version (1.10.2) there are some changes in
the sqlite backend for use in memory:
https://freeswitch.org/jira/browse/FS-11827

Is possible that some lock in the sqlite operations affect to the limit module?

Best regards



More information about the FreeSWITCH-users mailing list