Pre-Submission Checklist
Type Of Change
Checklist:
Description
Hello, I recently did some tests with kamailio's kafka module, with focus on what happens when kafka broker goes down.
First thing I noticed is that kamailio won't start initially if kafka broker is down. Second thing I noticed syslog overflowing with err logs, when kafka broker is down. Third, I noticed that when it starts, kamailio queries topic metadata and waited up to 100 seconds for any answer. I've added modparams for all these three to change behavior. Updated doc for all the new modparams.
I've also updated stats errors counting when exposed cfg functions failed for any reason. And some rework to stats function to accept str* instead of char* topic. Also moved librdkafka's poll() function at the begining of the cfg function logic, so polling happens even when some errors happen with the cfg function.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3951
Commit Summary
- faddcec Makefile.defs: version set to 5.8.0-rc0
- 3566edd pkg/kamailio/deb: version set 5.8.0~rc0
- fbdca3d github: set branch to 5.8 [skip ci]
- 5af33b2 pkg/docker: set branch 5.8 and refresh [skip ci]
- 49a9d8a tls: restore early init for other modules that use TLS
- aa8fcf9 tls: fix restore early init
- b98718c tls: fix OpenSSL 1.1.1 compatibility
- ac4f1be OpenSSL integration: manage curl_global_init(...) used by modules
- b1a3088 Revert ac4f1be039 - split into per module commits
- ce17fee core/rthreads.h: add thread executor for curl_global_init()
- 5d4fae5 http_async_client: libssl thread executor for curl_global_init()
- 49c3290 http_client: libssl thread executor for curl_global_init()
- 5339894 xcap_client: libssl thread executor for curl_global_init()
- bc4c206 http_async_client: libssl refactor thread executors for curl
- 6721fb7 file_out: Add header guards
- 59ab585 file_out: Fix leaks
- f53c6b4 tls: fix OpenSSL 1.1.1 engine keys
- 0ddbd96 tls: make explicit ENGINE deprecation in OpenSSL 3
- 9d42e4a tls: clean-up of ENGINE
- 8e81774 tlsa: removed the map files used in the past for tls engine
- 6ee4437 tls: remove unused ENGINE define
- 3d80bc8 tls: basic OpenSSL 3 support of provider keys (replaces ENGINE)
- 0a565d3 core/rthreads.h: add new option tls_threads_mode = 2
- 0ba1ff1 tls: new option tls_threads_mode = 2
- 56aeb07 etc/kamailio.cfg: document tls_threads_mode = 2 to use atfork handler
- dae1537 tls: NULL safety check
- 15ffdf7 ndb_redis: reformat exported structures
- 3415be2 evrexec: reformat exported structures
- 2d20067 microhttpd: docs - note about variables available in the event route
- 50c7590 ndb_redis: init enabled for tcp-main and postchildinit callbacks
- c2ac3ff tcpops: variables to get active connection attributes
- 8835f04 tcpops: if connection not found, return attributes from sip msg rcv
- ab981da ims_usrloc: make matching of username in contact conditional
- c06ea12 ims_registrar_pcscf: update registered state to pending registration if contact exists
- 0747c18 core: rthreads - init return variable
- 219c21f influxdbc: copy with buffer size limit
- 4c78a56 core: ppcfg - jump to end when defexp eval does not get a str val
- 089bf63 core: select - handle ws and wss inside select_ip_port()
- 4626cb7 core: parser rr - check for rr value before serializing
- 42282a2 acc: cdr - do not free static empty string in case of error
- d45c78e ctl: reset log prefix on reading ctl traffic
- 500e5fa core: main - init local variables used for cli param parsing
- a814df7 presence: docs - remove extra section end tag
- 6533c42 tls/docs: Update tls.reload docs
- 22f2745 tls/docs: Update certificate generation docs
- ed99a5e modules: readme files regenerated - modules ... [skip ci]
- dc289e4 ChangeLog: added content from 5.8.0 developent
- 50a0f82 pkg/kamailio/deb: version set 5.8.0 [skip ci]
- e6b67b1 pkg/kamailio: version set 5.8.0 for rpms and alpine
- 1fa3ba8 Makefile.defs: version set to 5.8.0
- 2e2217b ChangeLog: content set for v5.8.0
- c229e11 pkg/kamailio/obs: packaged README.file_out
- 1928af8 core: set null-terminated char for modparam (backport from master)
- 2122afa Avoid 'qm_strnstr' defined but not used warning
- 772b464 topos: small rearangement by removing else after return in the true block
- 45ee72f topos: properly handle cases of no user in contact for mode 1
- f9b1cca pkg/kamailio/obs: Allow builders to disable wolfssl module [skip ci]
- d6cd085 file_out: Fix var position and initialize
- 6410f37 pdb: Return negative carrierid for failures
- 0af55b0 pdb server: Return negative carrierid for failures. Clang format
- 90f8117 ctl: handle int input for double storage
- 7df7508 dispatcher: refine documentation
- 5daadec ims_ipsec_pcscf: TLS support in ipsec_forward() improved
- 91b0962 acc: more log messages of failure arsing extra acc string
- 0b3aa00 keepalive: proper storing of last up/down timestamps
- a7d4ce9 keepalive: small formatting updates and comments to the ka dest structure
- a0dfa0a ndb_redis: clang-format for WITH_SSL code
- 86df978 ndb_redis: fix index on parsing sentinel address inside redisc_reconnect_server()
- 60fd6c2 ndb_redis: break on finding a server via sentinel inside redisc_reconnect_server()
- 7bcef8e modules: readme files regenerated - modules ... [skip ci]
- 814f5bd dmq: fix inter-lock on error
- 028ba8f file_out: additional checks for silenting warnings
- 3fac5af file_out: Cast to correct type of str
- f4d44a9 tls: Fix ‘for’ loop initial declarations error
- 613e2cd file_out: FIx ‘for’ loop initial declarations error
- c48fbea gcrypt: docs - module name used for section ids
- 0e00ae1 core: socket info - parse advertise ip part to get address family
- dbf9208 core: resolve/create_srv_pref_list() - insert at correct position in list
- 3f44cab corex: fix conditions for dns_cache modparam srv attributes
- c9edb30 keepalive: reformat module exports structures
- 557d7e8 db_mysql: MYSQL_OPT_RECONNECT is deprecated by MySQL 8.0.34
- 3f3c194 db_mysql: right position for define KSR_MYSQL_OPT_RECONNECT
- b21a7aa smsops: reformat module exports structures
- c0c8ee0 smsops: short reference section about variables
- e394a05 blst: reformat exported structures
- 4e4e935 modules: readme files regenerated - modules ... [skip ci]
- 3b00630 pkg/kamailio: version set 5.8.1 for rpms and alpine
- 4708758 pkg: deb specs updated for v5.8.1
- 1caec71 core: xavp - added missing closing parenthesis in log messages
- 69f667f core: msg translator - duplicate reply via xavp params and handle errors
- e8aa987 Makefile.defs: version set to 5.8.1
- 384843c ChangeLog: content updated for v5.8.1
- 215af59 pdb server: allow carrier id 0
- bb48da1 db_redis: docs - refine docs regarding client certificates [skip ci]
- f337f13 ndb_redis: docs - refine docs regarding client certificates [skip ci]
- 855c767 sdpops: reformat the codecs map
- 7295607 core: parser/sdp - rename parameter to suggest better its role
- 8d312de siputils: tel2sip2() - memset to 0 pkg allocs and recompute len of new uri
- 800ed17 ims_ipsec_pcscf: log error message made info
- 595d3f4 corex: Fix unknown af in list_sockets
- d2cf78f rtpengine: fix pkg mem leak in send_rtpp_command()
- 2661594 tcp_main: Add protocol argument for searching tcp/tls connections
- 0c07044 tcp_main: Add proto argument to tcpconn_exists function
- a19e6e0 tcp_main: Update comment docs
- 7d103cf core/forward: Match protocol when forwarding
- 3052565 tcp_main: Match wss protocol
- 28bbcd5 usrloc: check on db delete the return value of memchr
- db2e96e core: tcp - keep connection id on event route cb structure
- c9fe59d tcpops: reworked some debug messages
- 069de99 core: tcp - set a global shortcut to tcp connection for event route
- 7e987d8 pv: use global tcp connection callback for event route on $conid
- 794c2ed core: fmsg - parse loopback ip when initializing faked msg structure
- eaacc17 regex: init globals for safer shutdown on failure
- c8f6853 regex: allocate pcres array
- 3ff024f regex: reformat exported structures
- e76d755 tcpops: removed unused variable introduced recently
- 03ff505 modules: readme files regenerated - modules ... [skip ci]
- cafe437 tls: clear thread-local variables up to tls_pthreads_key_mark
- 0bf03aa core: spelling fix in comment and log message
- b2352bc uid_auth_db: spelling fix in documentation
- 1dd7c40 ims_usrloc_scscf: reformat exported structures
- 620aa3f ims_usrloc_scscf: enclose examples in dotted lines for better visibility
- 89343b6 modules/statsd: ensure statsd failures do not stop execution (#3819)
- 8af0605 ims_registrar_scscf: init variable to fix analyzer warning
- 1387c32 ims_ipsec_pcscf: decouple IPSEC_FORWARD_USEVIA and IPSEC_TCPPORT_UEC for requests
- 7e202ec ims_ipsec_pcscf: docs updated for ipsec_forward() flags
- 9493dc0 ims_ipsec_pcscf: updated comments for ipsec_forward() flags
- 00f51e2 ims_ipsec_pcscf: handle tls for replies
- 4aa0920 ims_registrar_scscf: fix uninitialized arguments in save()
- 8bb9f06 ims_registrar_scscf: refactor save_fixup4
- 5696620 ims_registrar_scscf: fix typo in function name uint_fixup
- 4b3620d ims_registrar_scscf: free_uint_fixup: fix memleak/freeing the wrong parameter
- 4e98a4a ims_ipsec_pcscf: cascade on options to get the uri for fill_contact()
- 3aac0c7 sipcapture: docs - fix default value for parameter
- fc54fdc tm: free new buffer on drop for local requests
- f9ca685 tm: cb flag to mark local uac on request drop
- a86d7d2 tm: cb_flags made unsigned for uac_req
- e54b03f pv_headers: print also the new TMCB_LOCAL_REQUEST_DROP in debug function
- 965a02b presence: check if the local notify was dropped in event route
- 46c8e1a uac: check if local requests are dropped and free the param
- 244319c pua: check if local requests are dropped and free the param
- 5b97d29 core: parser/contact - add limit for max number of contacts
- d75dba6 core: parser/contact - basic validation tests for contact uri
- 11f0cfe core: parse/contact: jump to error on too many contacts
- 24e43d2 ctl: removed level and function names from log messages
- b5eb4f5 ctl: info log on ECONNRESET (connection reset by peer)
- 1ee553a modules: readme files regenerated - modules ... [skip ci]
- 383a81b tcpops: note about execution of event routes by TCP main process
- c3f424b modules: readme files regenerated - modules ... [skip ci]
- 29ef69b sipcapture: fix default DB URL docs
- 191aec6 modules: readme files regenerated - modules ... [skip ci]
- ba7a490 etc/kamailio.cfg: remove executable flag
- 3a34b46 tm: add mandatory Max-Forwards header to local AC
- c1c8c06 db_cluster: Update log levels
- c8e4fe8 dialplan: don't call free on empty pcre pointer
- f9bd2c5 tcpops: reformat exported structures
- 5c4f687 sipcapture: use local static buffers for ip address and port
- d53843c db_mysql: fixed build on CentOS 7
- deb11ee usrloc: delete location_attrs in db_only mode on delete_urecord
- 9a7e3e5 htable: error on not finding htable in pv set
- 7087ce6 htable: error on not finding htable in pv get
- f4eea76 rtpengine: Fix extra process in pkg.stats
- 833b935 siputils: free head of params list for get_uri_param()
- ebc8ace siputils: free head of params list for get_uri_param()
- 5c9c130 regex: fix pcre2 migration
- 614b560 geoip2: init MMDB_s global pointer and check on destroy
- 2cc901e geoip2: do not close global MMDB_s on destroy
- ae3be6a geoip2: rename global lock variable
- 45f2e26 geoip2: keep global structure per process
- c27094b geoip2: clang format module file
- 54f9adb geoip2: Reload database before accessing it
- eb4a8e3 iims_registrar_scscf: include header for common c functions
- 5999529 core/resolve: Check dns_cache_init and choose appropriate functions
- eb4ec6f nathelper: fixed handle_ruri_alias_mode(1) cannot proper handle multi alias
- e8dc850 nathelper: remove magic constant
- 5571ea0 dmq_usrloc: reformat exported structures
- ed0cdf3 ims_ipsec_pcscf: Fix typo
- 8ef8db0 pua_dialoginfo: Fix ruri length
- 955c6e0 modules: readme files regenerated - modules ... [skip ci]
- f3daac3 pkg/kamailio: version set 5.8.2 for rpms and alpine
- 2ce09cb pkg: deb specs updated for v5.8.2
- 5a09053 Makefile.defs: version set to 5.8.2
- 3fa5f48 ChangeLog: content updated for v5.8.2
- 434b2ab kafka: add modparam init_without_kafka
- 8247fb2 kafka: add modparam log_without_overflow
- 090b617 kafka: add modparam metadata_timeout
- 03a7499 kafka: export statistics for total/err messages
- 54859e8 kafka: Update kfk_stats_add() to use str topic
- d5e2a98 kafka: Update doc with the new modparams
File Changes
(144 files)
Patch Links:
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3951@github.com>