Return-Path: Delivered-To: apache-bugdb-archive@hyperreal.org Received: (qmail 28439 invoked by uid 6000); 17 Dec 1999 02:10:04 -0000 Received: (qmail 28354 invoked by uid 2001); 17 Dec 1999 02:10:01 -0000 Date: 17 Dec 1999 02:10:01 -0000 Message-ID: <19991217021001.28353.qmail@hyperreal.org> To: jserv-bugdb@apache.org Cc: apache-bugdb@apache.org, From: jon * Subject: Re: mod_jserv/5485: Servlets stop responding after working correctly for an extended period Reply-To: jon * Sender: apache-bugdb-owner@apache.org Precedence: bulk The following reply was made to PR mod_jserv/5485; it has been noted by GNATS. From: jon * To: Mike Essex Cc: , Nick Elsey 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 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