[SR-Users] Avoid full table scan for dispatcher table on db_redis using ds_reload() from config script

Joel Serrano joel at textplus.com
Sat Nov 23 01:17:58 CET 2019


Just in case:

Kam version - latest nightly deb (5.4.0~dev1+0~20191122005600.1540+buster)

Redis config:

loadmodule "db_redis.so"
modparam("db_redis", "keys", "version=entry:table_name")
...
modparam("dispatcher", "db_url", "redis://X.X.X.X:6379/2")


Thanks!
Joel.

On Fri, Nov 22, 2019 at 1:48 PM Joel Serrano <joel at textplus.com> wrote:

> Hello,
>
> I'm trying out redis as db backend, and right now I only have dispatcher
> records there... Every so often, I do a ds_reload() from within Kam config
> script, and I see in logs:
>
> Nov 22 20:36:35 test COPS[25531]: WARNING: db_redis [redis_dbase.c:1098]:
> db_redis_perform_query(): performing full table scan on table 'dispatcher'
> while performing query
>
> After enabling debug logs:
>
> Nov 22 21:15:35 test COPS[26661]: DEBUG: db_redis [redis_dbase.c:1761]:
> db_redis_query(): querying prefix (table) 'dispatcher'
> Nov 22 21:15:35 test COPS[26661]: DEBUG: db_redis [redis_dbase.c:1811]:
> db_redis_query(): no columns given to build query keys, falling back to
> full table scan
> Nov 22 21:15:35 test COPS[26661]: DEBUG: <core> [db_res.c:119]:
> db_new_result(): allocate 56 bytes for result set at 0x7f0be4273898
> Nov 22 21:15:35 test COPS[26661]: DEBUG: <core> [db_res.c:156]:
> db_allocate_columns(): allocate 40 bytes for result names at 0x7f0be4273938
> Nov 22 21:15:35 test COPS[26661]: DEBUG: <core> [db_res.c:167]:
> db_allocate_columns(): allocate 20 bytes for result types at 0x7f0be42739c8
> Nov 22 21:15:35 test COPS[26661]: WARNING: db_redis [redis_dbase.c:1098]:
> db_redis_perform_query(): performing full table scan on table 'dispatcher'
> while performing query
>
> Given the msg... "no columns given to build query keys, falling back to
> full table scan", I assume I'm missing a keys modparam.. but I don't know
> how to build it, and the docs (to me) seem confusing?
>
>
> https://kamailio.org/docs/modules/devel/modules/db_redis.html#db_redis.p.keys
>
> Can anyone help me understand how to build the keys modparam for
> dispatcher table? Or if the reason for this is different, what do I need to
> do to avoid the full table scan and the warning in the log?
>
> Thanks,
> Joel.
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20191122/d644b9d0/attachment.html>


More information about the sr-users mailing list