Hello Henning,
Thank you for answer.
There are no errors related to db queries in the log. According to mongodb log remove
requests from cleanup are made by Kamailio with instable interval from 1 min (as it is
configured) to several minutes. Per documentation the same interval is used to clean and
to sync contacts. It looks like that there is some race condition when contact is removed
by cleanup process but new contact is not synced yet. So periodically we have no
registrations in db and we cannot make a call to those phones.
So as result we have switched to db_mode=3 now.
Суббота, 28 апреля 2018, 17:54 +03:00 от Henning
Westerholt <hw(a)kamailio.org>rg>:
Am Freitag, 27. April 2018, 11:11:34 CEST schrieb Konstantin Polyakov:
We have met a new issue.
We use db_mode=1 ( Write-Through scheme. All changes to usrloc are
immediately reflected in database too ). timer_interval has default value
60 seconds.
Problem description.
Some user agent is registered successfully in Kamailio registrar.
Its contact exists inside internal cache (ul.lookup command shows it).
But location table doesn't contain this contact. After several minutes (5-6
min) it becomes available in the location table too. The issue is
reproduced periodically. Most of the time everything is ok.
Is that expected behavior when internal cache is used?
Did somebody else observed such situation?
Is there some workaround?
Hello Konstantin,
sounds indeed strange. You probably already checked this, do you see any errors in the
Kamailio log related to the database? Do you use some kind of replication or proxy
infrastructure that may delay DB operations?
Best regards,
Henning