Hello Jose,

if you are concerned about unnecessary log output for your production setup, 
one simple way would be just change the log level in your configuration to 
ERROR. Also other modules will output WARNING messages for similar cases.

I am not the author of this module, but I think the warning message is correct, 
as a full table scan can be indeed costly (especially for large tables).

According to the module readme this full table scan could be avoided by 
defining a proper mapping in the module parameter:

"When usrloc does a lookup based on "username@domain", db_redis figures out via 
the keys/values the query constructed by usrloc to look for the final entry key 
in the mapping set first. It then query the actual entries from there, avoiding 
full table scans. For usrloc, the same holds true for expired contacts, 
requiring a different kind of mapping."

Cheers,

Henning

Am 22.05.19 um 15:26 schrieb José Seabra:
Hello there,
I'm testing the db_redis with usrloc module in mode 3 and i have been noticing 
that every time that kamailio checks if there is contacts expired then it logs 
the following warning messages:

WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1099]: db_redis_perform_query(): performing full table 
scan on table 'location' while performing query
WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1102]: db_redis_perform_query():   scan key 0 is 
'expires'
WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1102]: db_redis_perform_query():   scan key 1 is 
'expires'
WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1274]: db_redis_perform_delete(): performing full table 
scan on table 'location' while performing delete
WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1277]: db_redis_perform_delete():   scan key 0 is 
'expires'
WARNING: PR_LOG: 
[email protected]<mailto:[email protected]>: 
db_redis [redis_dbase.c:1277]: db_redis_perform_delete():   scan key 1 is 
'expires'

I'm not sure what is the rational behind of this, but having these logs being 
written when we have log level equal 2 in production is something unnecessary, 
so i'm asking if it shouldn't be better we have it as debug instead of warning? 
or do you forecast any performance issues using usrloc module in mode 3 with 
db_redis?

Thank you for your support
Cheers
José
--
Cumprimentos
José Seabra



_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]<mailto:[email protected]>
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://skalatan.de/services
_______________________________________________
Kamailio (SER) - Users Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to