[OpenSIPS-Devel] [OpenSIPS/opensips] 3b65c3: usrloc federation HA: Fix race condition in managi...

Liviu Chircu noreply at github.com
Fri Aug 9 13:55:55 UTC 2024


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 3b65c35a7b8a330e9f01436935d9e20a43fff7b5
      https://github.com/OpenSIPS/opensips/commit/3b65c35a7b8a330e9f01436935d9e20a43fff7b5
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2024-08-09 (Fri, 09 Aug 2024)

  Changed paths:
    M modules/usrloc/doc/usrloc_admin.xml
    M modules/usrloc/udomain.c
    M modules/usrloc/ul_cluster.h
    M modules/usrloc/ul_mod.c

  Log Message:
  -----------
  usrloc federation HA: Fix race condition in managing CacheDB data

This patch fixes a race condition introduced in the fa4bf3c67 fix
for #1367, where the Backup node may now perform *unintended* DELETE
operations on random UA De-REG/Re-REG sequences, simply because its
internal mem_timer_udomain() happened to run, while the Active node's
timer did not.  The UA is re-registered, but data from CacheDB is now
missing, rendering the UA unreachable from other PoPs.

The fix is to give usrloc insight into the state of the HA pair, and
change the mem_timer_udomain() timer/cleanup procedure to only run
DELETE operations against the CacheDB from the Active node.



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



More information about the Devel mailing list