Tim Legant <[EMAIL PROTECTED]> writes:

> First issue... logging.  When we had only one possible action, we
> logged it.  Now that we have more than one possibility, do we want to
> log the whole 5+ lines for each action we take, or is one log entry
> with a line for each delivery action enough? Something like this:
>
>   Date: Sat Nov 8 13:11:00 CST 2003
>   From: Dr. Seuss <[EMAIL PROTECTED]>
>     To: Tim Legant <[EMAIL PROTECTED]>
>   Subj: Star-bellied Sneetches!
>   Actn: OK (from [EMAIL PROTECTED] ok, deliver=&[EMAIL PROTECTED])
>   Actn: DELIVER (from [EMAIL PROTECTED] ok, deliver=&[EMAIL PROTECTED])

I personally vote for the whole 5+ lines for each action we take.
Yes, it's a bit redundant, but it's also more clear I think.  The
above example with multiple Actn: lines is confusing to me.  There are
other situations where we do multiple entries rather than combining
things into a single entry, so this would follow current behavior
better as well I think.

TMDA has clearly outgrown the current logging format, and this
something that will be reworked in 1.1, so I don't think this is a
crucial decision at this point.  If one method will make other
portions of the implementation easier for you, go with that.

> Second issue...  What happens when we make a successful delivery but
> a subsequent delivery fails?  If we defer the message like we do
> now, then the successful delivery will happen again, and
> again... until the problem with the failed delivery is cleared up.
> That's not good.

This isn't good, but on the positive side, no messages will be lost.
You just may end up with duplicate deliveries.

> We could write this so that if the first delivery attempt fails,
> i.e., if there have been no successful deliveries, we defer as we do
> now.  The problem only arises with a failure after a success.

So in other words, the likelihood of a duplicate delivery will simply
be reduced, not eliminated.

> MTAs keep a message in the queue until it has been sent to all
> recipients or has timed out.  Obviously, they keep track of which
> recipients have yet to accept the message.

Are you sure?  They could also just clone the message (N delivery
instructions == N copies) so that each instance is handled like an
independent delivery.

I wonder if there is a way for us to do the same, without triggering
every matching delivery instruction the next time the queue is run?

> Another option is to attempt all deliveries and, if at least one is
> successful, consider the message delivered.

I don't like this one.
_________________________________________________
tmda-workers mailing list ([EMAIL PROTECTED])
http://tmda.net/lists/listinfo/tmda-workers

Reply via email to