james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joachim Draeger ...@joachim-draeger.de>
Subject Re: IMAP Draft: Cluster
Date Mon, 10 Jul 2006 12:57:14 GMT
Am Samstag, den 08.07.2006, 13:08 +0200 schrieb Bernd Fondermann:

> > Actually there is a inactivity limit of 30 minutes defined in the RFC
> > and clients should be able to deal with the fact that they might be
> > thrown out from time to time.
> But any command restarts this timeout. A simple NOOP is sufficient. This 
> means, that the server is not allowed to explicitly terminate the 
> connection as long as the client is pinging him. Regardless of the fact 
> that there is not actually mail traffic happening.
> Maybe such idle connections could be handled by a special thread and if 
> any real work is starting on a connection, this one is handed over to a 
> worker thread?

To allow many idle connections but limit the maximal possible server
load, I have the idea of a central scheduler in mind.
The scheduler keeps track of all running threads. 
If a session thread wants to run an expensive command it has to ask the
scheduler first. 
If there are too many working threads the scheduler will queue the
session threads and letting them sleep until a working thread has
The client will notice that as some kind of staccato. :-)
Avoiding the "everybody wants to work at the same time" dead-lock, which
causes that everything gets so slow that no one can do anything would
require a complicated algorithm that manages a dynamic limit of the
total number of connections.


To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org

View raw message