[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: (ITS#4420) Hanging CLOSE_WAIT connections in ldap-backend



On Fri, 2006-03-03 at 10:20 +0000, hyc@symas.com wrote:
> I believe the code now in back-ldap is broken. If you do a "grep 
> do_retry" in the back-ldap source you'll note that some of the modules 
> are testing for LDAP_UNAVAILABLE and some are testing for 
> LDAP_SERVER_DOWN. This inconsistency points to another logic problem - 
> the LDAP_UNAVAILABLE code should only be present after mapping has 
> occurred, but the retry needs to be invoked before mapping. Note that 
> ldap_back_op_result will send a result code to the client, so even if 
> back-ldap actually retries the operation, the client will have already 
> gone away.

I'm not so sure it's broken.  I haven't gone thru all of it yet, but as
far as search is concerned, it seems to me that the right value is
checked before and after mapping, and that ldap_back_op_result() is only
called when retry is no longer an option.  I'll investigate a bit more
carefully; I might add some #ifdef'd code to test those error
conditions.

p.




Ing. Pierangelo Masarati
Responsabile Open Solution
OpenLDAP Core Team

SysNet s.n.c.
Via Dossi, 8 - 27100 Pavia - ITALIA
http://www.sys-net.it
------------------------------------------
Office:   +39.02.23998309          
Mobile:   +39.333.4963172
Email:    pierangelo.masarati@sys-net.it
------------------------------------------