Michael Ströder wrote:
Never mind, I'm glad to have positive feedback from at least two persons because there's still some issue, although worked around. To summarize: now the code overall works fine and it's much more reliable than it used to be. I've added the possibility to set the number of times a ldap_result() can be retried when doing simple and anonymous bind at connection establishment, which is also used to reopen accidentally dropped connections when retrying. The number of retries can be configured, and I plan to also allow configuration of the timeout between retries. The bad news is that under some circumstances back-meta still happens to hang waiting for a result from a target that is not willing to send any. I've worked it around by re-issuing the anonymous bind exactly once after the configured retries on ldap_result() have been attempted unsuccessfully. Unfortunately this occurs so few times and under so heavy load that first of all it's unrealistic, and it's pretty difficult to track. In fact, in these cases I can easily attach the back-meta with gdb and see it retry indefinitely, but there's no clue in attaching the remote server, because that has anything to do with the operation, and its logs don't say anything about the problem. The libldap is waiting on a message that'll never come. So re-issuing the operation seems to be the right approach.Good news: I've synced my HEAD directory and it seems to work for me now
(running several times). Sorry, that I couldn't be of more help
analyzing it.
Cheers, p.
-- Pierangelo Masarati mailto:pierangelo.masarati@sys-net.it
SysNet - via Dossi,8 27100 Pavia Tel: +390382573859 Fax: +390382476497