Code:
2020-01-28 08:30:54.025108 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:30:56.185098 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [select sip_subscriptions.proto, '10','sub.domain.com',sip_dialogs.uuid, sip_dialogs.call_id, sip_dialogs.state, sip_dialogs.direction, sip_dialogs.sip_to_user, sip_dialogs.sip_to_host, sip_dialogs.sip_from_user, sip_dialogs.sip_from_host, sip_dialogs.contact, sip_dialogs.contact_user, sip_dialogs.contact_host, sip_dialogs.sip_to_tag, sip_dialogs.sip_from_tag, sip_subscriptions.orig_proto from sip_dialogs left join sip_subscriptions on sip_subscriptions.hostname=sip_dialogs.hostname and sip_subscriptions.profile_name=sip_dialogs.profile_name and sip_subscriptions.call_id='0_4207997968@192.168.2.110' left join sip_registrations on sip_registrations.hostname=sip_dialogs.hostname and sip_registrations.profile_name=sip_dialogs.profile_name and (sip_dialogs.sip_from_user = sip_registrations.sip_user and sip_dialogs.sip_from_host = 'sub.domain.com' and (sip_dialogs.sip_from_host = sip_registrations.orig_server_host or sip_dialogs.sip_from_host = sip_registrations.sip_host) ) where sip_dialogs.hostname='fs4' and sip_dialogs.profile_name='internal' and sip_dialogs.call_info_state != 'seized' and sip_dialogs.presence_id='10@sub.domain.com' or (sip_registrations.sip_user='10' and (sip_registrations.orig_server_host='sub.domain.com' or sip_registrations.sub_host='sub.domain.com' or sip_registrations.presence_hosts like '%sub.domain.com%'))]
2020-01-28 08:30:58.365105 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:30:59.985104 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:31:00.385124 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:31:00.765093 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:31:01.605114 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:31:01.945105 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
2020-01-28 08:31:02.245080 [WARNING] switch_core_db.c:92 SQLite is BUSY, sane=299 [BEGIN EXCLUSIVE]
Edit: Forgot to mention SQLite DB is in ramdrive. Briefly Increased the time it took to start seeing these messages, but they still came back.
Hard drives are two 1.2tb nvme, loads of ram, loads of processor on proxmox.
For sure, these messages are a backlog, as soon as we started seeing them we noticed blfs stopped updating correctly. I just didn't put that together on time...
Background: this is a newly moved and upgraded system to master with 1.10.2 for fs. Was 4.4.3, and fs 1.8.2. I understand that this message was only recently added to this version, and does represent just a warning. There are maybe only 170ish registrations on this box, with blf's a plenty. Prior to upgrading, blfs were timing out, but cant rule out an IO issue with spinning disks on kvm. New machine is really well resourced and running on LXC.
My questions:
Does this message represent queued sql? I ask this, because I saw after I pulled registrations busy messages coming for about 8 hours after the registrations were back on original machine. So, did they stack up and were just getting processed in that order? Or was that completely innocuous and should just not worry about it - nothing to see here, move along?
Would moving fs db to postgres make for a better experience? I know that blfs are problematic on FS, but that can't be the final answer. I figure someone must have bloodied their forehead trying to figure this out.
How has anyone else dealt with having lots of blfs, what steps have you taken to make sure that isn't as taxing on the system? I wouldn't normally jump to new hardware for something like this, but the io issues when we did anything on the machine were turfing registrations and causing calls to drop.
Thanks, folks!
Last edited: