Hi Alex,
Can you provide your usrloc and dmq_usrloc module parameters please?
Cheers,
Charles
On Fri, 15 Dec 2017 at 20:54, Alex Balashov <abalashov(a)evaristesys.com>
wrote:
By way of follow-up:
db_mode 1 likewise fails, in the same fashion.
db_mode 2 does work and successfully sync the contact to the DB on
timer_interval.
So, I suspect this is some sort of race that raises when immediate
database write-through is required.
On Fri, Dec 15, 2017 at 02:31:06PM -0500, Alex Balashov wrote:
Hi,
Running bleeding-edge branch 5.1 clone here.
dmq_usrloc replication works fine when using in-memory only backing for
the underlying usrloc module, i.e. db_mode 0. I haven't tried mode 1 and
mode 2.
I use mode 3, so that contacts are immediately persisted straight to a
local database. The database flavour is PostgreSQL in this case.
When new contacts replicated via dmq_usrloc come in, I get this in the
Kamailio log:
Dec 15 19:23:35 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]:
ERROR:
<core> [db.c:465]: db_use_table(): invalid parameter value
Dec 15 19:23:35 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: usrloc [udomain.c:817]:
db_load_urecord_by_ruid(): failed to use
table location
Dec 15 19:23:35 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
WARNING: dmq_usrloc [usrloc_sync.c:147]:
delete_contact(): AOR/Contact not
found
Dec 15 19:23:35 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: <core> [db.c:465]: db_use_table():
invalid parameter value
Dec 15 19:23:35 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: usrloc [udomain.c:817]:
db_load_urecord_by_ruid(): failed to use
table location
Dec 15 19:23:35 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
WARNING: dmq_usrloc [usrloc_sync.c:147]:
delete_contact(): AOR/Contact not
found
I added some code to lib/srdb1/db.c to print the parameter name and the
location being passed to db_use_table():
*/
int db_use_table(db1_con_t* _h, const str* _t)
{
+ LM_ERR("DB handle = %p\n", _h);
+
if (!_h || !_t || !_t->s) {
- LM_ERR("invalid parameter value\n");
+ LM_ERR("invalid parameter value %.*s\n", _t->len,
_t->s);
return -1;
}
And got this:
Dec 15 19:23:36 evaristesys-testbed-2 /usr/local/sbin/kamailio[9395]:
ERROR:
<core> [db.c:462]: db_use_table(): DB handle = (nil)
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: <core> [db.c:465]: db_use_table():
invalid parameter value location
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: usrloc [udomain.c:631]: db_load_urecord():
failed to use table
location
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: <core> [db.c:462]: db_use_table(): DB
handle = (nil)
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: <core> [db.c:465]: db_use_table():
invalid parameter value location
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: usrloc [ucontact.c:679]:
db_insert_ucontact(): sql use_table failed
Dec 15 19:23:36 evaristesys-testbed-2
/usr/local/sbin/kamailio[9395]:
ERROR: usrloc [urecord.c:582]: insert_ucontact():
failed to insert in
database
So, it appears the DB handle being passed here is NULL is in this
situation.
The same AOR is present in 'ul.dump' RPC command when using db_mode 0.
Please advise? :)
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web:
http://www.evaristesys.com/,
http://www.csrpswitch.com/
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users(a)lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered
office: Faraday Wharf, Innovation Birmingham Campus, Holt Street,
Birmingham Science Park, Birmingham B7 4BB.