Hello,
if you can not reproduce it with db_mysql, it might be indeed some issue specific related
to sqlite. Executing the tests with debug log level should give you more information about
the internal database operations, in case you like to look more into it.
Cheers,
Henning
--
Henning Westerholt -
https://skalatan.de/blog/
Kamailio services -
https://gilawa.com<https://gilawa.com/>
From: Kaufman <bkaufman(a)bcmone.com>
Sent: Wednesday, February 8, 2023 6:04 PM
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
Subject: [SR-Users] Re: DB_CLUSTER failure with carrierroute (and others?)
I cannot reproduce this issue against mysql, so perhaps it is just something related to
abstraction and concurrent access with sqlite.
Kaufman
From: Kaufman <bkaufman@bcmone.com<mailto:bkaufman@bcmone.com>>
Sent: Wednesday, February 8, 2023 10:48 AM
To: Kamailio (SER) - Users Mailing List
<sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>>
Subject: [SR-Users] DB_CLUSTER failure with carrierroute (and others?)
All,
I've been trying to chase down an issue with db_cluster and permissions in combination
with something else, where with my full configuration using the same cluster in multiple
modules has failures. I've been trying to create a simplified configuration to
consistently reproduce the problem without much success, however I did stumble upon THIS
particular problem. The configuration here works fine as is - avpops uses the cluster
URL, and carrierroute uses the direct SQLite URL. If I define WITH_DBCLUSTER, then
carrierroute fails fetching rows using the cluster connection. Note that AVPOPS is only
used as a general test to see if the cluster config works. If I remove references to
avpops , carrierroute still fails loading from the cluster URL. Thoughts?
#!KAMAILIO
loadmodule "db_sqlite"
loadmodule "pv"
loadmodule "db_cluster"
loadmodule "carrierroute"
loadmodule "avpops"
modparam("db_cluster", "connection",
"db1=>sqlite:////etc/db.sqlite")
modparam("db_cluster", "cluster", "cl1=>db1=9s9s")
modparam("db_cluster", "inactive_interval", 30)
#!ifdef WITH_DBCLUSTER
modparam("carrierroute", "db_url", "cluster://cl1")
#!else
modparam("carrierroute", "db_url",
"sqlite:////etc/db.sqlite")
#!endif
modparam("carrierroute", "config_source", "db")
modparam("avpops", "db_url", "cluster://cl1")
modparam("avpops", "avp_table", "usr_preferences")
request_route {
exit;
}
Failure log:
0(1) ERROR: carrierroute [cr_db.c:345]: load_route_data_db(): Fetching rows failed
0(1) ERROR: carrierroute [cr_data.c:179]: reload_route_data(): could not load routing
data
0(1) ERROR: carrierroute [carrierroute.c:240]: mod_init(): could not prepare route data
0(1) ERROR: <core> [core/sr_module.c:942]: init_mod(): Error while initializing
module carrierroute (/usr/lib/kamailio/modules/carrierroute.so)
Kaufman