[sr-dev] [kamailio/kamailio] dispatcher : better distribution when using hash and destination is not available (#2363)

Luis Rojas lrg at pobox.com
Wed Jun 17 15:37:32 CEST 2020


OK, guys,

It seems I did the pull request right this time.  Now it contains only my
changes, as I verified my forked repo was in full sync with kamailio:master.

if one of the maintainers could take a look at this pull request, please?
It'd be great if it could be at release 5.4.0.

It's a very small change, just about 50 lines, and a very simple concept.
Just rehash of hash, a limited amount of times, when destinations are not
available.

Best regards,

Luis Rojas (Kalki70 at github)


On Wed, Jun 17, 2020 at 9:30 AM Kalki70 <notifications at github.com> wrote:

> Pre-Submission Checklist
>
>    - [ X] Commit message has the format required by CONTRIBUTING guide
>    - [ X] Commits are split per component (core, individual modules,
>    libs, utils, ...)
>    - [ X] Each component has a single commit (if not, squash them into
>    one commit)
>    - [ X] No commits to README files for modules (changes must be done to
>    docbook files
>    in doc/ subfolder, the README file is autogenerated)
>
> Type Of Change
>
>    - Small bug fix (non-breaking change which fixes an issue)
>    - [X ] New feature (non-breaking change which adds new functionality)
>    - Breaking change (fix or feature that would change existing
>    functionality)
>
> Checklist:
>
>    - PR should be backported to stable branches
>    - [ X] Tested changes locally
>    - [ X] Related to issue #2361
>    <https://github.com/kamailio/kamailio/issues/2361>
>
> Description
>
> When a destination is selected using one of the hash algorithms (over
> Call-ID, From, etc.)
> and destination is not available, then the next is selected. This causes
> the following problem :
> All messages to the unavailable destination will be sent to the same
> unique destination.
> This will cause that one destination will receive double load and the rest
> will continue with the same.
>
> Solution : To better distribute messages, while also guaranteeing the same
> distribution of the hash, a re-hash of the hash is made.
>
> As the rehash could select the same or other failed destination, it can
> rehash several times. The number of rehashes made is controlled by :
>
> modparam("dispatcher", "ds_rehash_max", -1)
>
> Which can take the following values :
>
> -1 : The total count of destinations is used
> 0 : Disabled. Reverts to original implementation.
> Positive number. Maximum number of rehashes.
> ------------------------------
> You can view, comment on, or merge this pull request online at:
>
>   https://github.com/kamailio/kamailio/pull/2363
> Commit Summary
>
>    - dispatcher : better distribution when using hash and destination is
>    not available
>
> File Changes
>
>    - *M* src/modules/dispatcher/dispatch.c
>    <https://github.com/kamailio/kamailio/pull/2363/files#diff-b9d00a2976c1b1c5d3535a5ae0e24047>
>    (49)
>    - *M* src/modules/dispatcher/dispatcher.c
>    <https://github.com/kamailio/kamailio/pull/2363/files#diff-5e75274551c31eb6158e6815fd840331>
>    (2)
>
> Patch Links:
>
>    - https://github.com/kamailio/kamailio/pull/2363.patch
>    - https://github.com/kamailio/kamailio/pull/2363.diff
>
>> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/kamailio/kamailio/pull/2363>, or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABO7UZMG4REGMAG7GQAYX6TRXDAMNANCNFSM4OATJVEA>
> .
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> sr-dev at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>


-- 
Ayudemos a niñas que lo necesitan !
www.lascreches.cl !
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20200617/2396f4f2/attachment.html>


More information about the sr-dev mailing list