[Top] [All Lists]

Re: Processing after the end of DATA

2010-08-09 20:11:45

Tony Hansen wrote:

On the flip side is this:  DATA Termination: 10 Minutes.

   This is while awaiting the "250 OK" reply.

There's a world of difference between the obligation of the server to emit a timely response, and the obligation of the client to not give up early.

Dave, unfortunately I'm not good at the normative references, but I am long on experience here. My observation at Postini was that most clients give up after a much shorter time. 5 minutes was common, but some were as little as 30 seconds. Postini uses a proxy, so the amount of time after the dot was the sum of all latencies, including the receiver and all of the network delays from the sender to the proxy, and from the proxy to the receiver.

As a result, duplicates were such a staggering huge problem. To mitigate that, Postini computed a SHA-1 hash for every message, and if there was any evidence that the receiver had sent the 250 OK, but the sender never got it, the hash was saved in a database. If the sender resent the message, the proxy (knowing it had already been delivered) quietly ate it.

When that database broke, the customers noticed immediately. The effect was that significant.