tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera" <>
Subject Re: Handling requests when under load - ACCEPT and RST vs non-ACCEPT
Date Thu, 08 Nov 2012 03:35:28 GMT
Hi Esmond
> I haven't said a word about your second program, that closes the 
> listening socket. *Of course* that causes connection refusals, it 
> can't possibly not, but it isn't relevant to the misconceptions about 
> what OP_ACCEPT does that you have been expressing here and that I have 
> been addressing.
I was learning things while discussing this issue over the Tomcat list. 
I started out asking the Tomcat community why I saw the hard RST 
behavior, and then started looking at the source of Tomcat, and then 
referenced the HttpComponents project - where at first I believed it was 
turning off interest in OP_ACCEPT - an assumption I was wrong about - 
since I had looked up only the discussion threads of HttpComponents and 
not the source.

Then I wrote the second program to illustrate how HttpComponents handled 
it after looking at its source code, and to answer the question posed by 
Chris on how "it" was done in HttpComponents. Since then I was basing my 
discussion around that second program, but I believe you were addressing 
issues from earlier - I apologize.
> Closing the listening socket, as you seem to be now suggesting, is a 
> very poor idea indeed:
I personally do not think there is anything at all bad about turning it 
off. After all, if you are not ready to accept more, you should be clear 
and upfront about it, even at the TCP level. Having different thresholds 
to stop listening (say at 4K), and to resume (say at 2K) would ensure 
that you do not start acting weirdly by starting/stopping/starting/.. 
acceptance around just one value.
> what happens if some other process grabs the port in the meantime: 
> what is Tomcat supposed to do then?
In reality I do not know of a single client production deployment that 
would allocate the same port to possibly conflicting services, that may 
grab another's port when its suffering under load.

I cannot see any other issues of turning off accepting - and I am 
curious to know if anyone else could share their views on this - 
considering real production deployments


Asankha C. Perera

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message