tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mladen Turk <>
Subject Re: Purpose of unlockAccept
Date Tue, 08 May 2012 18:01:55 GMT
On 05/08/2012 07:09 PM, Costin Manolache wrote:
> IMHO neither 'graceful shutdown' nor 'deploy' are best served by not
> accepting connections:
> - for 'graceful' - a number of connections will get to backlog and timeout,

Not sure if ServerSocket.close() would cause cascade close of all
accepted sockets that are still running. If not, even pause could
just close the socket and then init if needed.
In that case clients will not fill the backlog.

> which is bad for the user. A better solution would be to support an option
> to accept and return immediately ( maybe with a way to do this only for
> requests not matching any existing session ). I never worked with a LB that
>   detects status based only on not accepting connections and timeout.

Hmm, right, a valid option if LB won't get confused.

> Besides that - is there any other use for pause() ? Maybe that's what
> should be removed/replaced :-). The behavior ( delay/timeout all TCP
> connections until backlog is full, then reject ) doesn't seem ideal.

Agreed. A 'pause' or invalidating backed node should be done in LB.
We are doing that in mod_jk, mod_proxy, mod_cluster, etc.
If LB wrongly instructs the clients to connect to a node that is going to
get shutdown we can't do much about it. Client will experience one
or other type of connection failures.


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message