On 3/4/24 8:00 AM, Stephen J. Turnbull wrote:
Split thread #2.

Justus Winter writes:

  > and when a runner has picked up a mail from a queue, and then
  > crashes, that mail is lost forever (i.e. runner operations are not
  > atomic).

Please report such incidents in as much detail as you can.  The whole
point of "store and forward" is to prevent that.  Runners should not
alter the queuefile until they're done.  If they crash in the middle,
they should leave the queuefile they received and maybe a work file.

The actual process of picking up a queue entry[1] atomically renames the queue file from .pck to .bak so until the runner finishes processing the file and removes the .bak, there is always a .pck or .bak file in the queue. If the runner dies for any reason in processing, whether because of a crash or external event, upon restart it will process the .bak file(s) so messages are never lost for this reason.

[1] https://gitlab.com/mailman/mailman/-/blob/master/src/mailman/core/switchboard.py?ref_type=heads#L151

--
Mark Sapiro <m...@msapiro.net>        The highway is for gamblers,
San Francisco Bay Area, California    better use your sense - B. Dylan

_______________________________________________
Mailman-Developers mailing list -- mailman-developers@python.org
To unsubscribe send an email to mailman-developers-le...@python.org
https://mail.python.org/mailman3/lists/mailman-developers.python.org/
Mailman FAQ: https://wiki.list.org/x/AgA3

Security Policy: https://wiki.list.org/x/QIA9

Reply via email to