<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### 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] New feature (non-breaking change which adds new functionality)
#### Checklist: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [x] Tested changes locally
#### Description <!-- Describe your changes in detail --> Very often I only need one connection from a worker process, to cache fill provisioning data to Kamailio. This new sqlops connect mode will reduce the amount of idle connection to the database server significantly.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4027
-- Commit Summary --
* sqlops: new connect mode to limit the amount of connections
-- File Changes --
M src/modules/sqlops/doc/sqlops_admin.xml (8) M src/modules/sqlops/sql_api.c (5) M src/modules/sqlops/sqlops.c (17)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4027.patch https://github.com/kamailio/kamailio/pull/4027.diff
Thanks for the PR, there are some errors from the format checker that should be addressed. One question about the motivation for the PR. Usually the DB connections should expire if they are not used, right? What is the advantage of this new mode then, just to avoid the time until the expire or something else?
@jchavanton pushed 1 commit.
31f9410fbd06183f8a2e34eeacd54973c0a8fe4c sqlops: new connect mode to limit the amount of connections
@henningw just fixed the formatting ...
From my experience with sqlops and postgres (not sure if all the db drivers are working the exact same way). Kamailio is creating one connection per process (except for PROC_INIT, PROC_MAIN and PROC_TCP_MAIN) The connections remained idle but at not expiring, this is sometimes forcing the DB admin to increase the amount of maximum connections and creating some noise, on the connections.
@jchavanton pushed 1 commit.
49240fde74415ac582ae764ac4975005b0dafdb6 sqlops: new connect mode to limit the amount of connections
Indeed, the connections stay idle, they are not destroyed, and reused when again needed.
For me is fine to add this new mode, the old mode stays around.
Merged #4027 into master.
thanks for your feedbacks !