[OpenSIPS-Devel] [OpenSIPS/opensips] 27cf9f: clusterer: Fix links going down during sync; Optim...

Liviu Chircu noreply at github.com
Wed Dec 4 15:58:07 UTC 2024


  Branch: refs/heads/3.5
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 27cf9f9abe5f02a0aabd45d3ca1975f4149b4ebf
      https://github.com/OpenSIPS/opensips/commit/27cf9f9abe5f02a0aabd45d3ca1975f4149b4ebf
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M modules/clusterer/clusterer.c
    M modules/clusterer/topology.c

  Log Message:
  -----------
  clusterer: Fix links going down during sync; Optimize pinging

This patch makes it so *any* succesfully sent BIN packet is also
considered a Ping (for sender) and Pong (for receiver).  This helps
improve the stability of the inter-node links, which will no longer go
down during a lengthy sync operation (e.g. 50K+ registered phones, which
take a few seconds to sync, and which would also significantly delay any
Ping/Pong packets happening to be queued up on that same TCP stream).

Moreover, thanks to the "last ping" timestamp updates during regular
BIN replication mentioned above, the clusterer pinging timer will now
only generate Ping packets during idle times (no BIN traffic produced).

(cherry picked from commit 7d74f3dc6233cf0cd6ad517a2329b837e2bac8bb)


  Commit: 0d6daf249eea45ff45ff52196a9988dbe12b0239
      https://github.com/OpenSIPS/opensips/commit/0d6daf249eea45ff45ff52196a9988dbe12b0239
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M modules/usrloc/dlist.h
    M modules/usrloc/ucontact.h
    M modules/usrloc/udomain.c
    M modules/usrloc/ul_cluster.c
    M modules/usrloc/urecord.c

  Log Message:
  -----------
  usrloc HA: Improve management for replicated "labels"

This patch aims to fix the occasional "differring rlabels"
debugging error messages which may occur after a restart in usrloc HA
scenarios, especially if the active SIP box is restarted while
processing REGISTER requests in parallel.

Since both record and contact labels are dynamic, per-instance and lost
on restart, conflicts are to be expected.  The idea behind the fix is to
simply adapt the replicated contact_id to the local instance, thus
preferring the local labels to the remote labels whenever detecting
conflict.

(cherry picked from commit 90a00795b1d0685394818c4a69c235f487389878)


  Commit: 4c38ceb7343be0ecc1e44f943b4480d2c3b67756
      https://github.com/OpenSIPS/opensips/commit/4c38ceb7343be0ecc1e44f943b4480d2c3b67756
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M modules/clusterer/topology.c

  Log Message:
  -----------
  clusterer: Fix a subtle subtraction bug

The "--node->no_ping_retries" operation is bogus, because that field
is only written during DB reload, or when dynamically learning a new
node.  This can lead to the following state, where a node's link flips
between ON/OFF on each ping attempt:

[Nov 29 20:23:15] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
[Nov 29 20:23:15] INFO:clusterer:handle_pong: Node [2] is UP
[Nov 29 20:23:42] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
[Nov 29 20:23:42] INFO:clusterer:handle_pong: Node [2] is UP
[Nov 29 20:24:30] INFO:clusterer:do_action_trans_2: Ping reply not received, node [2] is down
[Nov 29 20:24:30] INFO:clusterer:handle_pong: Node [2] is UP

(cherry picked from commit 02c4d14d79ff6cfd76b4220cdece80c0853e4e1f)


  Commit: dea7e45ce2ca77889c9572310e131367f506cd6f
      https://github.com/OpenSIPS/opensips/commit/dea7e45ce2ca77889c9572310e131367f506cd6f
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-12-04 (Wed, 04 Dec 2024)

  Changed paths:
    M modules/clusterer/Makefile
    M modules/clusterer/clusterer.h
    M modules/clusterer/topology.c

  Log Message:
  -----------
  clusterer: Add some dev debugging logs

(cherry picked from commit 5eae5fb1580feb512cc9a065c558a72d85405afb)


Compare: https://github.com/OpenSIPS/opensips/compare/1259a5cc735c...dea7e45ce2ca

To unsubscribe from these emails, change your notification settings at https://github.com/OpenSIPS/opensips/settings/notifications



More information about the Devel mailing list