You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by jon * <jo...@clearink.com> on 1999/12/17 03:10:01 UTC

Re: mod_jserv/5485: Servlets stop responding after working correctly for an extended period

The following reply was made to PR mod_jserv/5485; it has been noted by GNATS.

From: jon * <jo...@clearink.com>
To: Mike Essex <ms...@metro1.com>
Cc: <ap...@apache.org>, Nick Elsey <ni...@metro1.com>
Subject: Re: mod_jserv/5485: Servlets stop responding after working
	correctly for an extended period
Date: Thu, 16 Dec 1999 16:55:36 -0800

 on 12/16/99 4:42 PM, Mike Essex <ms...@metro1.com> wrote:
 
 > ============ Although it was not useful to help you troubleshoot our
 > problem, what does this message from the error_log file indicate:
 > ============ thr_continue of 0xeabc0740(5367200) failed: 3 = ESRCH.
 
 I have absolutely no idea. This is probably an issue internal to Apache (as
 I previously suggested, maybe upgrade to 1.3.9?). It definitely isn't
 something that is produced by Apache JServ itself.
  
 > ===========  As I wrote in the original bug report, there is no specific
 > code which  reproduces the problem.  I don't think sending you 20,000
 > lines of code would help narrow it down.
 
 I have 50,000+ lines of code working just fine.
  
 > =========== This possibly could be a problem since earlier we saw some
 > issues with database connection management.  The connection scheme was
 > reworked and I believe each database access by a servlet reliably opens
 > and closes a database connection.  I will double check this, however.
 > Is it true based on your above comment, that a hung JDBC connection can
 > cause jserv to stop resonding?
 
 It isn't necessarily Apache JServ that is stopped. For example, if your
 database connection pool is using wait()/notify() to hand out Connections,
 then if you give out all of your Connections without freeing any of them, it
 will go into an infinite wait() while waiting for an open connection. In
 that case, then all your servlets will be affected and it will *look* like
 Apache JServ is stopped, but in reality, it is your connection pooling code
 that is holding things up.
 
 This was an issue in our connection pool (which is included in Turbine)
 which we had to fix and was quite difficult to track down properly since it
 involved a case where the connection was not returned properly to the pool
 in a single piece of code.
 
 In other words, Apache JServ doesn't just "stop" unless the JVM crashes. If
 the JVM crashes, that is obviously beyond our control.
 
 > ========== I noticed there is a 1.1b3 JSERV on your web site.  However
 > since it is beta I have not downloaded it.  Usually beta code should not
 > be used in high reliability production environments.  Do you feel the
 > 1.1 beta is more reliable than the 1.0 release version?   Also, when is
 > 1.1 scheduled to be released.
 
 I would use the stuff in CVS, it is currently the most stable version of
 Apache JServ out there.
 
 Since you are in a mission critical application environment, you must have
 development staging servers where you test stuff before making it live. In
 that case, I suggest that you install the latest stuff in CVS on one of
 those servers. If your issues are resolved and no other issues come up, then
 obviously that is your best solution.
 
 As for release schedules, it will be released when it is ready. Current hope
 is before the new year.
 
 thanks,
 
 -jon