Klarinet Archive - Posting 000029.txt from 1998/09

From: "Mark Charette" <charette@-----.org>
Subj: Re: [kl] Off-list Computer Question
Date: Tue, 1 Sep 1998 21:52:08 -0400

From: SDSCHWAEG@-----.com>
>Hey, Mark -
> Why do I sometimes get "reply" posts BEFORE I receive the one that
asks
>the question? Just curious...

The mail software on sneezy is qmail, and the mailing list software is
ezmlm. The interaction is:

qmail is set up to have 30 mail queues (just enough to ordinarily
saturate sneezy's Internet link)

ezmlm is currently handling about 600 people on this mailing list.

When a message comes in ezmlm will hand off about 20 addresses/mail
queue, however, there may already be messages in any queue waiting to go
out.

Each mail queue takes its list of addresses, and one at a time, tries to
connect with the recipient mail host. If the connection succeeds, the
message is sent over and the next address gets to the front of the
queue. However, sometimes the recipient machine is off-line or the
Internet is slow. In that case the mail queue will try for a minute or
so before moving the address to the end of the queue and trying the next
address. So ... some queues move messages out faster than others.

If another message comes in while the mail queues are busy, the
addresses get distributed to the least-filled queues first. So ...
sometimes you'll get the answer before the question - the queue the
first message was in is stalled for a few moments (and hasn't gotten to
your address yet), but someone else has already read the message and
answered. Your address was in another queue for the reply, and got sent
out sooner.

A little picture:

1) Message 1 comes in, and starts getting sent out :
Queue 1 - a@-----.com(msg1)
Queue 2 - d@-----.com(msg1)

2) Queue 1 stalls because bar.com is off-line, but we check for a minute
or so. Queue 2 sent all its messages already. a@-----.com hasn't been sent
yet.
Queue 1 - a@-----.com(msg1)
Queue 2 - <empty>

3) A response (message 2) comes in ... Queue 2 gets filled 1st, since
it's empty.

Queue 1 - e@-----.com(msg1)
b@-----.com(msg1)
Queue 2 - a@-----.com(msg2)
d@-----.com(msg2)

4 b@-----.
Queue 2 is all done by now.

Queue 1 - b@-----.com(msg2)
a@-----.com(msg1)
Queue 2 - <empty>

5) As you can see, a@-----.

Probably a longer explanation than you figured you'd get :^)
----
Mark Charette@-----.org
Webmaster, http://www.sneezy.org/clarinet
All-around good guy and devil-may-care flying fool.
"There can be no freedom without discipline." - Nadia Boulanger

-------------------------------------------------------------------------

   
     Copyright © Woodwind.Org, Inc. All Rights Reserved    Privacy Policy    Contact charette@woodwind.org