Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Mar 2002 03:12:46 +0100
From:      Brad Knowles <brad.knowles@skynet.be>
To:        Andrew Boothman <andrew@cream.org>, Benjamin Krueger <benjamin@macguire.net>
Cc:        Courtney Thomas <ccthomas@flash.net>, freebsd-chat@freebsd.org
Subject:   Re: qmail (Was: Maintaining Access Control Lists )
Message-ID:  <p05101505b8c430e28572@[10.0.1.9]>
In-Reply-To: <3C9DF87D.5050306@cream.org>
References:  <F61GQUEYvZmDvHbYxPo0000a6bd@hotmail.com> <20020323002608.B20699@rain.macguire.net> <3C9C84CF.2090300@flash.net> <20020323084327.A354@rain.macguire.net> <3C9DF87D.5050306@cream.org>

next in thread | previous in thread | raw e-mail | index | archive | help
At 4:02 PM +0000 2002/03/24, Andrew Boothman wrote:

>  I was interested about what you said about qmail and its author.
>  I've recently started playing with qmail to investigate what mail
>  server I prefer, but I agree that there is perhaps something a
>  little strange about its author. I don't know what, perhaps its
>  just that I find qmail.org such a weird site.

	The author of qmail is rightly considered to be one of the most 
whacked-out kooks on the 'net.

	I've been on IETF mailing lists with him, and his attitude is 
always that he is always right (by definition) and everyone else is 
always wrong (by definition).  He insists on replying to each and 
every mail message posted to the list, and constantly dredging up old 
points that everyone else has agreed were dead a long, long, long 
time ago.

	He will reply to messages that are not anywhere near remotely 
related to his favourite topic, quote some random line that is least 
unlike the straw-man position that he wants to destroy, and then go 
off on a multi-page rant.

	He considers himself to be God's gift to programming, security, 
Internet mail, DNS, cryptography, and anything else he cares to 
decide to screw around with, and woe betide anyone who ever disagrees 
with his world-view -- even if that world-view changes and you used 
to be his most vocal supporter.


	The problem is that he is generally totally fscking clueless (at 
least on all the topics with which I am familiar), and his 
whacked-out ideas of how things should be done are non-solutions to 
non-problems, and he simply doesn't understand what the real problems 
are.


	Let's take qmail as one example.  Read the literature, and you 
will find pretty universal agreement that the single biggest problem 
with handling Internet e-mail is the issue of synchronous meta-data 
updates, followed by synchronous data writes -- basically, you're 
waiting on the disk, which is the single slowest device in the entire 
system by many, many orders of magnitude, and the RFCs require you to 
do things that mean that you can't really make much use of the kinds 
of buffers and things you'd normally use to help insulate yourself 
from such seriously heinous latency issues.

	The problem is that every time you create a file, delete a file, 
or rename a file, the entire directory in which that file is located 
must be locked for the exclusive use of that one process, for the 
length of that directory operation.  Now, you may be able to handle 
these operations very quickly, but when you serialize all directory 
operations in a busy mail queue, this starts to become a serious 
problem.

	Compound this problem with the fact that you are required by the 
RFCs to have committed the mail message to stable storage before you 
respond to the sender "Okay, I've got it."  You have to flush the 
buffer for that file, and wait for the writes to complete before you 
can proceed.  You also have to flush the write buffer for the 
directory before you can proceed (to ensure that the meta-data 
updates are reliably written out).

	Now, it turns out that older versions of sendmail make this 
problem doubly worse by using two files in /var/spool/mqueue for 
every mail message -- a qf* file and a df* file (with others being 
optional).  This means twice as many files get created, written, 
read, and deleted in a very short period of time (with appropriate 
flushes of the buffers and waiting for the message to be committed to 
stable storage before continuing, etc...).


	But qmail makes this even worse -- it uses *three* files per 
message!  At least postfix is more intelligent and it uses only one 
file (albeit in a proprietary format).

	Starting with version 8.12, sendmail has a new async I/O library 
that allows it to avoid *ALL* synchronous meta-data updates in most 
cases (i.e., those where the initial delivery attempt is successful). 
It's kind of hard to beat zero synchronous meta-data updates.  ;-)


	More importantly, the author of postfix has relatively little ego 
wrapped up in his programs, and if you can show him an error or an 
incorrect assumption, he will generally listen to you.

	Do you know why no one has never collected the "bug bounty" that 
the author of qmail has offered? Simple -- he has never publicly 
acknowledged that any of his programs are less than 100% completely 
and totally perfect, and any time someone does point out something 
that is wrong, while he doesn't recognize it as a "bug", the problem 
does seem to mysteriously get fixed in later releases.

	There's a lot more development going on with regards to sendmail, 
and it may be more difficult to get them to listen to you.  But I do 
know that Eric, Greg, Claus, and crew do listen, because they are in 
the process of eliminating every single major potential software 
bottleneck that I identified in my "Sendmail Performance Tuning for 
Large Systems" paper that I presented at SANE'98 (see 
<http://www.shub-internet.org/brad/papers/sendmail-tuning/>).


	I've got a whole laundry list (some twenty-three items by now) of 
things that are wrong with tinydns and dnscache, and a lot of them 
have to do with problems regarding the megalomaniacal author and his 
unholy disciples.  I will be writing them up, but I can't make any 
guarantees as to when I'll be able to put them online.

	Even if I document my writings extensively with references to his 
own web pages, documentation, etc... and the public writings of 
others, I'm sure that he'll still file libel and slander charges 
against me -- he does the same to anyone else who dares to speak out 
against him, especially those who do so in a public forum.


	God help you if you ever join the Church of Dan.  And Dan help 
you if you don't.

-- 
Brad Knowles, <brad.knowles@skynet.be>

Do you hate Microsoft?  Do you hate Outlook?  Then visit the Anti-Outlook
page at <http://www.rodos.net/outlook/>; and see how much fun you can have.

"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."
     -Benjamin Franklin, Historical Review of Pennsylvania.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-chat" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p05101505b8c430e28572>