[OpenSIPS-Devel] [OpenSIPS/opensips] e180b1: db_flatstore: Fix another race condition around MI...

Liviu Chircu noreply at github.com
Fri Nov 4 18:10:03 UTC 2022


  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: e180b1536e89e7bc8d6e2dd3264786e8531c71d7
      https://github.com/OpenSIPS/opensips/commit/e180b1536e89e7bc8d6e2dd3264786e8531c71d7
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2022-11-04 (Fri, 04 Nov 2022)

  Changed paths:
    M modules/db_flatstore/flat_mi.c
    M modules/db_flatstore/flatstore.c
    M modules/db_flatstore/flatstore_mod.c
    M modules/db_flatstore/flatstore_mod.h

  Log Message:
  -----------
  db_flatstore: Fix another race condition around MI 'flat_rotate'

This race condition was related to invoking 'flat_rotate' 2+ times
during the same second (UNIX timestamp).  Due to the way the
timestamping logic was implemented, this could lead to files NOT being
rotated at all on the 2nd 'flat_rotate', which falls in the same second.

Although very rare, this race condition could lead to massive CDR loss,
since all CDRs between 2nd and 3rd 'flat_rotate' commands have a great
chance of being fully lost (unread and discarded).





More information about the Devel mailing list