On Tue, 2004-01-27 at 07:39, Somuchfun wrote:
I have a question in regards to mailman's recovery abilities. Let's say mailman is running and sending out messages to a large list and the machine crashes or is rebooted, does mailman pickup where it stopped? Or is the run gone forever?
If Mailman is in the middle of delivering a message and is killed uncleanly, e.g. Python crashes, or the machine hard panics, then the current run is lost. If Mailman is stopped cleanly via 'mailmanctl stop', then it's current place is remembered and resumed on restart.
I'd like to do better than this, but I think it's infeasible with the current qrunner architecture, since the Switchboard removes the files when they are dequeued for processing. It seems to me the alternatives are to either risk duplicate deliveries for some subset of recipients, or really clobber performance by writing status information out after each successful recipient delivery.
Of course, you'd hope that the window of opportunity for message loss in Mailman is small, if it can hand off all the recipient chunks to the MTA quickly. Then the mail server's guarantees take over.
-Barry