tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mark Thomas <ma...@apache.org>
Subject Re: what exactly happens when timeouts are set and tomcat has outofmemory errors.
Date Mon, 03 Aug 2009 22:49:55 GMT
Madhuri Patwardhan wrote:
> Hi,
> 
> Can somebody go over the details of what exactly happens when tomcat instance has outOfmemory
errors and there are following timeouts set in a loadbalancer worker config. 
> 
> This is my understanding.
> 
> ping_mode=A, ping_timeout=10000, reply_timeout=60000 and recorver_options=3
> 
> If the timeouts are set as above then CPing/Cpong test for connect and prepost will work.
When a new real request is sent to this tomcat instance, it should hit reply_timeout because
it has outofmemory errors.

That depends on the state of the JVM. It might appear to work normally,
it might fail to respond at all. Once on OOM has occurred Tomcat has to
be assumed to be in an unknown state and should be restarted. I have
seen Tomcat instances apparently recover from an OOM. It all depends why
the OOM occurred and what Tomcat was doing at the time.

> Then depending on no. of retries set (it is default, for me so 2), this instance will
be tried once again. Second time also it should not get reply within reply_timeout and at
that point it should be marked in "ERR" state. 
> However, I don't see that. I don't see it being marked in "ERR" state. The state is still
"OK" inspite of this tomcat instance having outofmemory errors. Could somebody explain what
am I missing?

In short, you are incorrectly assuming that once an OOM has occurred
Tomcat will no longer respond to requests.

Mark




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message