[SR-Users] [sr-dev] RFC: db_redisusrloc module - review and how to deal with

Henning Westerholt hw at kamailio.org
Wed Feb 21 23:42:35 CET 2018

Am Mittwoch, 21. Februar 2018, 10:33:23 CET schrieb Daniel-Constantin Mierla:
> [..]
> We were recently in a (lucky) situation to have two new modules
> submissions targeting more or less the same purpose: allowing to use
> Kamailio with a Redis backend via database API.
> [..]
> So, there are few things I want feedback on:
> 1) how do you fill about splitting from a generic-only DB connectors to
> have also some dedicated ones? This is more from confusion point of
> view, as a general rule so far, we do not deny contributions if there
> are other options for same kind of feature (e.g., many lcr or nat
> traversal options). As long as the contributor is willing to maintain
> the code, we were fine.
> 2) I guess usrloc, presence and dialog modules would be the main
> suspects that would benefit for such dedicated connectors, in other
> cases might not worth adding dedicated connectors. Missing any other
> module one would like to squeeze more performances with a dedicated
> connector?


I also think that the possibility to use a generic DB connection module to 
interact with several databases from different modules is really beneficial in 
Kamailio and we should keep this possibility.

Even if there is a small performance penalty in using a more generic module  I 
still think the benefits in maintenance over the long term are in favor of 
only one generic redis module (as in this example). In the end processors are 
still getting faster/getting more cores every year. Our maintenance and 
reviewing capacity especially for core and plumping parts stays more or less 
the same.

If there are bigger performance differences (like an order of magnitude) 
between the two modules then the reason is probably some implementation issues 
in the code. In this case they should be simply fixed in the generic module.

Best regards,


> 3) should we set a different naming policy for such modules, for
> example: use *dbs_* prefix instead *db_*, to suggest better it is a
> DataBase Specific connector?
> 4) Andreas said he plans to do some performance testing of usrloc module
> with the two modules and see the differences. Anyone else that wants to
> do it? It can be a good metric to see if it worth going one way or another?
> 5) Helping to review the pull request, specially if you use Redis, is
> appreciated. Personally I am very short in available time these days,
> next week I plan do to new Kamailio stable releases, so the schedule is
> not getting lighter in my side.
> Cheers,
> Daniel

More information about the sr-users mailing list