Re: [exim] Small modification for queue runners?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Michael Haardt
CC: exim-users
Subject: Re: [exim] Small modification for queue runners?
On Wed, 1 Dec 2004, Michael Haardt wrote:

> If many queue runners are active on a large queue, Exim appears to get
> unfair by trying the same messages over and over, whereas others sit
> on the queue untouched.


Have you got evidence for that? How do you know the messages are
untouched? Each queue runner should process the queue[*] in a "random"
order. Every queue runner should look at every message on the queue
eventually. If you have evidence otherwise, it is evidence of a bug.

> Queue runners would get way more efficient if they tried to obtain locks
> before forking, but the unfairness issue is still there.


I have wishlisted this idea. However, I think that in practice, in most
configurations, the number of clashes will be small, and it is only when
there is a clash that this will make any difference. I don't really
think it will get "way more efficient", certainly not in most common
cases. For instance, if you have 5 queue runners, there will most likely
be 5 clashes (or maybe a few more for new messages that are being
delivered), but if you are scanning a queue of 1,000 messages that won't
be noticed.

-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book