httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 23548] - prefork model on solaris 2.6 mod_ldap leaves connections to ldap in close_wait
Date Tue, 19 Oct 2004 16:34:43 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=23548>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=23548

prefork model on solaris 2.6 mod_ldap leaves connections to ldap in close_wait





------- Additional Comments From minfrin@apache.org  2004-10-19 16:34 -------
Ok this is starting to make sense. In the original LDAP code, the module didn't
clean up after itself properly when an LDAP error occurred (most common error
being a timeout). Instead of trying to shut down broken LDAP connections still
in the pool, it would ignore them, resulting in the increasing list of CLOSE_WAITs.

Now, if the module tries to reuse a connection in the pool, but this connection
has timed out, it cleanly tries to close the old connection and reopens a new
one - this is probably why you're seeing the CLOSE_WAITs from each connection in
the pool until they are reaped. This isn't ideal, however it is no longer
unbounded like before.

The correct solution to all of this is to implement the LDAP connection pool
using apr_reslist_*, which handles things like timing out connections and
cleanly removing them from the pool for us. The catch is that apr_reslist_* is
apparently only available in APR v1.0, which limits this to being properly
implemented in httpd v2.1/v2.2 (which uses APR v1.0), and not httpd v2.0 (which
uses APR v0.9).

I'm keen to see if the CLOSE_WAITs remain within the limits of the size of the
pool in the httpd v2.0 branch, which hasn't been overhauled to the same extent
as the HEAD branch has. If so, then the bug can probably be marked as fixed
(mostly) until apr_reslist_* is properly implemented.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org


Mime
View raw message