- describe limitation of weight parameter - describe a potential workaround against those limitations
<!-- Kamailio Pull Request Template -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [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 - [X] Small bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds new functionality) - [ ] Breaking change (fix or feature that would change existing functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [X] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail --> We had problems understanding the weight parameter of the dispatcher module and wrote a little workaround against the problems we have found. This workaround in the configuration file improves behavior for setups with many dispatcher targets at the cost of more CPU load. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4158
-- Commit Summary --
* dispatcher: weight documentation and workaround for limitations
-- File Changes --
M src/modules/dispatcher/doc/dispatcher_admin.xml (28) A src/modules/dispatcher/doc/weights.cfg (49)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4158.patch https://github.com/kamailio/kamailio/pull/4158.diff
miconda left a comment (kamailio/kamailio#4158)
I do not really get the meaning of:
``` This means that approaching 100 entries the distribution will become more and more uneven. ```
After:
``` The weight is implemented as an internal table with 100 entries. Each entry points to one dispatcher target. ```
Can you elaborate more. Distributing the target to a 100 array is by design, not really a limitation, same that the weights sum has to be 100. A new algorithm can be implemented if the existing ones do not suit some use cases.
From my point of view, this could be better done as a full config (starting from the one in dispatcher docs) that is placed in `misc/examples/`, having at the top in comments the description you added in the PR as docs. The readme for modules try to be reference documentation for what the module implementation offers.
henningw left a comment (kamailio/kamailio#4158)
@ChristianBergerSipgate Any remarks from your side regarding the previous comment?