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 [EMAIL PROTECTED] 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
