Re: Qmail-Specific?
Bruce Guenter <[email protected]> Thu, 18 Feb 2010 18:51:31 -0600
| Newsgroups | gmane.mail.ezmlm |
|---|---|
| Message-ID | <[email protected]> |
--W/nzBZO5zC0uMSeA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Feb 15, 2010 at 10:53:48PM +0000, Sabahattin Gucukoglu wrote: > I'm still not clear why you need special handling in the case of > interruptions: if your submissions to the MTA are interrupted, start > where you left off; if the queue run is interrupted, the MTA will > simply begin where it left off. Why do you want to ensure an entire > VERP-style delivery is transactional? I must be missing something. The issues are: Performance -- with one message per recipient, the MTA has to separately queue up potentially thousands of messages. Disks are getting faster, but that's still an expensive proposition, and can seriously impact other users of the disk on the same system. Reliability -- does the message get to all the recipients exactly once? If the sending process is interrupted (due to taking a long time to queue up all the messages), there is the address list could easily change before the next run. With the introduction of non-file address list databases, this can mean not just duplicated delivery occasionally but actually reordering the list for some kinds of storage. So, to make this work reliably, ignoring the performance issues, it needs to store the message to be delivered plus a snapshot of the address list. In order to handle interruptions, it also has to store an indication of which addresses have been delivered, and some mechanism needs to be set up to restart delivery if needed. > Oh, well, if it's so unimportant a consequence of a failure to have a > retry occasionally send duplicates in exchange for subscription > updates, I think the best thing for you to do is to simply never > return a submission status of zero to the incoming job until you've > made a VERP explosion to the submitting MTA. Then, you can rely on > the client coming back if the job doesn't succeed the first time > around, or of the queue on the sending host to do the same thing. This does achieve "at least once" semantics on message queueing, but I imagine there are lots of lists that would object to duplicated messages being "unimportant". --=20 Bruce Guenter <[email protected]> http://untroubled.org/ --W/nzBZO5zC0uMSeA Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.14 (GNU/Linux) iEYEARECAAYFAkt94JMACgkQ6W+y3GmZgOiV4QCeLPV/jaysE422f8RbBLwtvbwp ydgAoIKyggqUAy1iwoSeeMCUdAlOzyn3 =op9E -----END PGP SIGNATURE----- --W/nzBZO5zC0uMSeA--